Der einfachste Weg, die JavaScript -Vererbung zu implementieren, ist die Aufrufmethode (oder die Anwendung Methode) und die Prototyp -Kettenmethode. Beide Methoden haben jedoch Mängel, und ihre Mischung ist eine gute Vererbungs -Implementierungsmethode. Hier sind Beispiele:
Die Codekopie lautet wie folgt:
Funktion Animal (Alter) {
this.age = Alter;
}
Animal.Prototype.sayage = function () {
window.alert ("Mein Alter ist"+this.age+"!");
};
Funktionshund (Alter, Name) {
Animal.Call (this, Alter);
this.name = name;
}
Dog.Prototype = new Animal ();
Dog.Prototype.sayname = function () {
window.alert ("Ich bin ein"+this.name+"!");
};
var hund = neuer Hund (15, "Hund");
Dog.SayName ();
Dog.Sayage ();
Für das Klassentier hat es ein Feldattribut und Funktionsattribut von Field Attribut. Die Definition der Sayage -Methode verwendet die Prototypmethode. Die Hundeklasse muss ein Tier erben, und seine Feldattribute haben auch Namen zusätzlich zum Alter. Durch Animal.Call (dies, Alter); Hund kann das Feld des Tierfeldes erben und es initialisieren. Der erste Parameter der Aufrufmethode ist dieser Zeiger auf die ererbte Klasse, und der zweite Parameter ist der Parameter des Konstruktors der Tierklasse. Tatsächlich kann die Vererbung durch die Aufrufmethode erreicht werden, aber die einzige Anforderung ist, dass die Funktionsattribute der übergeordneten Klasse im Konstruktor definiert werden müssen, was nicht für die hier zu definierten Funktionsattribute im Prototype (Definieren von Funktionsattributen im Prototyp ist in dem Konstruktor definiert werden) geeignet ist. Um die durch den Prototyp des Animals definierten Funktionsattribute zu erben, ist die erforderliche Aussage "Dog.Prototype = new Animal ();". Die Funktion SayName () in der Hundeblieb ist ein eigenes Funktionsattribut.
Zusätzlich zu dieser klassischsten Möglichkeit zur Implementierung der Vererbung stehen derzeit einige kostenlose Bibliotheken zur Verfügung. Aber wenn Sie an alle Arten von Bibliotheken denken, werden Sie sehr immens sein. Lasst es uns lernen, wenn Sie Zeit haben und es brauchen!