Thread Ein paar Programmiertricks
(39 answers)
Opened by roooot at 2008-03-22 23:16 KurtZ+2008-03-25 21:10:26-- Aber denk daran, nur Mozilla Browsern habe darauf der Zugriff (Mathias Ergänzung im selfhtml Forum) [EDIT]hab dein letztes Posting nicht gelesen. KurtZ+2008-03-25 21:10:26-- Deine erste Erläuterung verstehe ich nicht. Da es keine Klassen gibt, gibt es auch kein Klassenobjekt, jede Funktion ist erstmal per se ein Konstruktor und du machst dort nominell nichts anderes als dem prototype von Klasse1 mit einer Instanz von Klasse0 zu überschreiben. Du erweiterst also Klasse1 um alle Attribute, die der Konstruktor Klasse0 erzeugt und dessen prototypen. Das war ja auch ursprünglich deine Frage, du kannst diesen Prototype jederzeit überschreiben. Code: (dl
)
1 function Klasse0() {this.name = 'Klasse 0';} Im zweiten Fall könnte man sich noch behelfen in dem man schreibt: Code: (dl
)
var Unterinstanz=new Instanz.constructor(); KurtZ+2008-03-25 21:10:26-- Das sehe ich anders, Vererbung ist mit JS umständlich, einmal hast du keinen direkten Zugriff auf SUPER und zum zweiten wird durch new BasisKlasse() immer eine Instanz der Basis Klasse erzeugt, was zur Folge hat, das der Konstruktor aufgerufen wird und du dort aufpassen musst, wenn du eine für jede Instanz unterschiedliche Initialisierung machen willst, das geht in die Hose. Du musst entweder die Intialisierung in eine Funktion verlagern oder den Weg, den dir Don P im selfhtml Forum gezeigt hat wählen. |