Herencia en ES5 (herencia combinatoria)

  La herencia de clase ES6 usa la palabra clave extendidas, entonces, ¿cómo se implementa en ES5?

  ES5 utiliza una combinación de constructor y prototipo de objeto para simular herencia, por lo que también se denomina herencia combinada;

  El principio central: tomar prestado el constructor padre a través de call (), y señalar esto del tipo padre a esto del subtipo;

  Esta herencia en realidad está llamando al constructor padre en el constructor hijo cuando se llama al constructor hijo para crear el objeto de instancia, entonces puede obtener los miembros del constructor padre y modificar esto del constructor padre llamado Simplemente apunte a una subfunción, el miembro será heredado en la subfunción;

  En una palabra: use call () para llamar al constructor padre en el constructor hijo para lograr la herencia; recuerde modificar esto en el constructor padre a esto en la función hijo

función padre (uname, age) { 
  this.uname = uame; 
  this.age = age;        
} 
función Son (uname, age) { 
  Father.call (this); 
}

  Préstamo de método de herencia de objetos prototipo

Son.prototype = new father (); // Debido a que se puede acceder al método en el objeto prototipo de Father a través de la cadena de prototipos 
Son.prototype.constructor = Son; // La operación de asignación anterior hará que el constructor de Son apunte a Father

  

Supongo que te gusta

Origin www.cnblogs.com/joeynkay/p/12734884.html
Recomendado
Clasificación