Ich versuche OOP mit JavaScript mit sehr einfachen Beispielen zu erfassen.Basic JavaScript Prototyp und Vererbung Beispiel für Tiere
Mein Ziel ist es, eine Klassenhierarchie mit Tieren als Beispiel zu erstellen.
In einer vereinfachten Tiere Hierarchie können wir etwas sehen:
Animal
/\
Mammal Reptile
/\ /\
Human Dog Snake Alligator
ich dieses Beispiel nehmen will und erstellen Klassen in JavaScript. Hier ist mein Versuch. Was kann ich tun, um es besser zu machen?
function Animal(name) {
this.name = name;
}
function Mammal() {
this.hasHair = true;
this.numEyes = 2;
this.blood = "warm";
}
function Dog(breed) {
this.breed = breed;
this.numLegs = 4;
}
Dog.prototype = new Animal("Fido");
Dog.prototype = new Mammal();
var Fido = new Dog("Lab");
console.log(Fido.name); // returns undefined when i want it to return Fido
console.log(Fido.hasHair); // returns true as expected
console.log(Fido.breed); // returns lab as expected
Was würde ich tun möchte, ist haben Hund die Eigenschaften von Säugetier und Tier verlängern, da sie beide, aber es ist nicht richtig funktioniert. Ich gehe davon aus, dass ich dog.prototype = new Mammal() nach new Animal() anrufe, dass es die Verbindung überschreibt.
Wie schreibe ich diese Klassen richtig aus, damit ich alle Eigenschaften ihrer Elternklassen aufrufen kann?
Vielen Dank.
Ist das etwa zu finden, was Sie wollen? http://jsfiddle.net/294d88su/ – aroth