14.4 Erben von Eigenschaften
Die Vererbung von Eigenschaften gestaltet sich in Flash 5 und Flash MX unterschiedlich, auch wenn in beiden Fällen nur der Konstruktor der Oberklasse mit den notwendigen Parametern aufgerufen wird (die Flash 5-Methode funktioniert ebenfalls in Flash MX).
Flash MX
In Flash MX reicht es aus, den super-Operator zu verwenden (soweit die »Vererbung« über Unterklasse.prototype = new Oberklasse(); stattfindet). Dieser verweist auf die Oberklasse und führt im folgenden Beispiel zum Aufruf der Konstruktorfunktion der Oberklasse:
function Vater(name) {
// Rufe Konstruktor der Oberklasse auf
super(name);
}
// Erbe Fähigkeiten von Mann
Vater.prototype = new Mann();
Flash 5
In Flash 5 gestaltet sich der Aufruf des Konstruktors etwas schwieriger, dafür aber unabhängig von der Instanz in der Prototypen-Eigenschaft. Um die Konstruktorfunktion der Oberklasse in der Unterklasse zu verwenden, benötigen Sie eine Referenz auf die Funktion. Da sich die Funktion später auf Instanzen der Unterklasse beziehen soll, muss die Referenz zu der Funktion mit einem this versehen werden. Jetzt reicht es aus, die referenzierte Konstruktorfunktion aufzurufen und anschließend die nicht mehr gebrauchte Referenz ordnungshalber wieder zu löschen:
function_Vater(name)_{
männer und eigenschaften (Flash 5).fla
// Rufe Konstruktor der Oberklasse auf
this.konstruktorFunktionDerOberklasse=Mann;
this.konstruktorFunktionDerOberklasse(name);
delete(this.konstruktorFunktionDerOberklasse);
}
|