[ascoders] Re: AW: Re: AW: Sound Class erweitern

  • From: Michael Kneib <listen@xxxxxxxxx>
  • To: ascoders@xxxxxxxxxxxxx
  • Date: Wed, 29 Oct 2003 11:24:06 +0100

Timo Hölzer wrote:


Ich erkläre mir das so:


"new" liefert die Instanz einer Klasse(Objekt).

Dabei passiert nichts anderes, als daß eine
leerer Instanz eines Kontainers(Object) mit
Methoden und Eigenschaften gefüllt wird.
Genauer gesagt wird ja das prototype Object
des mit diesen Methoden versehen, auf welche
die Klasse später zugreift.

o = GameSound.prototype = new Sound();

würde folglich bedeuten, daß das prototype Object
der Klasse GameSound die "Rückgabe" der Konstruktor
Funktion erhällt, nicht jedoch die Instanz der Klasse

Da das prototype Object von GameSound nun aber über
alle Methoden der Klasse Sound verfügt, hat die Vererbung
stattgefunden, die Initialisierung jedoch nicht.


Was hällst du von dieser Erklärung???




ja dashört sich schlüssig an.

ohne super sind die sound_eigenschaften_ auch nicht vorhanden:

Strg+Alt+V:

Stufe #0:
Variable _level0.$version = "WIN 6,0,65,0"
Variable _level0.GameSound = [Funktion] {
   prototype:[Objekt #2, Klasse 'Sound'] {
     playSound:[Funktion 'playSound']
   }
 }
Variable _level0.o = [Objekt #2, Klasse 'Sound']
Variable _level0.a = [Objekt #4, Klasse 'Sound'] {}

mit super() hingegen schon:

Stufe #0:
Variable _level0.$version = "WIN 6,0,65,0"
Variable _level0.GameSound = [Funktion] {
   prototype:[Objekt #2, Klasse 'Sound'] {
     playSound:[Funktion 'playSound'],
     id3:[Get/Set] undefined,
     duration:[Get/Set] undefined,
     position:[Get/Set] undefined
   }
 }
Variable _level0.o = [Objekt #2, Klasse 'Sound']
Variable _level0.a = [Objekt #4, Klasse 'Sound'] {
   id3:[Get/Set] undefined,
   duration:[Get/Set] 2061,
   position:[Get/Set] 2061
 }

ich erstelle meistens nur unterklassen von Movieclip, wo ich noch nie super()
benutzt habe, aber da übernimmt dann wohl Object.registerclass den 
konstruktoraufruf.
oooder? :o)

ein lehrreicher morgen
dankeschön


gruß
michael



------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: