[ascoders] Re: Interfaces vs extends

  • From: Florian Krüsch <florian@xxxxxxxxxx>
  • To: ascoders@xxxxxxxxxxxxx
  • Date: Tue, 07 Sep 2004 11:26:39 +0200

hm, das Casten ist in Flash gar nicht so explosiv wie anderswo :)
Denn der Player selbst wirft ja keine (InvalidCast oder was immer) Exceptions, sondern
verhält sich äussert gutmütig.
Der Bytecode Befehl für den Cast verhält sich nämlich nicht soviel anders, als 'instanceof',
er liefert entweder das Objekt selbst zurück oder 'null', statt true oder false.
Das entspricht also eher einem 'as' in C# als einem Cast in Java.


var o:Layer = new ImageLayer();
ImageLayer(o).imageMethod();

entspricht also

var o:Layer = new ImageLayer();
(o instanceof ImageLayer ? o : null).imageMethod();

Grüsse
Florian


Ralf Siegel wrote:

Aber auch explosiv :o)

Ich würde ein Objekt möglichst nicht auf einen Typ wie oben umbiegen. Da bist du wenn mit Schnittstellen (+ einer Feature-Abfrage) wesentlich flexibler (s. das Beispiel vom Freitag).

var o:ImageLayer = new ImageLayer();
if(o instanceof IScrollable) {
        IScrollable(o).myOwnMethod();
}

ralf ...


------------------------------------------------------------- Ralf Siegel - Freelance Developer Recommended Listening: Blonde Redhead - Misery Is A Butterfly http://www.blonde-redhead.com -------------------------------------------------------------

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


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

Other related posts: