Home » Uncategorized » Vererbung in JavaScript – Unglaublich kompliziert!

Vererbung in JavaScript – Unglaublich kompliziert!

Dieser Beitrag ist überholt. Er zeigt, wie man Klassen und Vererbung vor ES6 löste.

Mit ES6 macht man das viel einfacher: JavaScript Klassen und Vererbung (ES6) (–> Udacity Artikel)


Klassen und Vererbung vor ES6 – Unglaublich kompliziert

Ich möchte Katze von Tier ableiten. In JavaScript. Wie gehe ich vor?

//1. Die Parent-Klasse definieren:
> function Tier(name){
... this.name=name;
... this.sayName=function(){ console.log(`Ich bin ${name}.`);}
}
undefined


//2. Die Kind-Klasse definieren
> function Katze(name){
... Tier.call(this, name); // Den Parent-Konstructor unter mitgabe von this aufrufen!
... this.hatFell=true;
}
undefined

//3. Ein neues (Prototype-)Objekt erstellen, das als Prototype denjenigen 
//   vom Parent-Objekt hat. Dieses Objekt als Prototype vom Child anlegen.
> Katze.prototype = Object.create(Tier.prototype)
Tier {}


//4. Den Konstruktor vom Child wieder auf denjenigen vom Child zurücksetzen:
> Katze.prototype.constructor = Katze;
[Function: Katze]
>

Benutzung:

> katze1 = new Katze('Kitty');
Katze { name: 'Kitty', sayName: [Function], hatFell: true }
> katze1.sayName();
Ich bin Kitty.
undefined
>

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert