| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Affine Abbildung Registriert seit: Feb 2002 Ort: Bremen
Beiträge: 15.124
| Abstrakte Klasse in AS 2?
Ich sehe wohl richtig, dass es keine abstrakten Klassen in As 2 gibt. Was ist also zutun? Hab gerade kein Flash, kann ich variablen vom Typ eines Interface haben, nein oder? Benutzt ihr also richtige Klassen die ihr überschreibt? Wie kommt man sonst auf den Datentypen bezüglich Polymorphie? Was sind gängige Workarounds für abstrakte Klassen? Man definiert die klasse als class AbstractFahrzeug usw und einigt sich darauf, dass jede Methode der abstrakten Klasse ne Exception wirft, wenn man doch so kluk war, die zu instanzieren?
__________________ Solange sich auch nur einer an ihn erinnert, solange auch nur ein Herz mit Leidenschaft schlägt - wie kann ein Traum da sterben? If you use the wrong line ending characters when writing your files, you might find that other applications that open those files will "look funny". - PHP.net Hier ruhn meine Gebeine - ich wollt, es wären Deine. Try to look unimportant, they may be low on ammo! Was ist euer Lieblings-Datentyp? Schreibt mir! |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: Oct 2006
Beiträge: 162
| Zitat:
man nun wirklich in einem groß verteiltem Programmierteam arbeitet oder eine Schnittstelle anbietet, die dann fremde Leute für ihre Programme verwenden. Aber sonst reicht es doch auch aus, einfach sich auf einen Namenskonvention zu einigen, so dass sofort klar ist, was als abstrakte Klasse gesehen werden soll. Also z.b. wie man Interfaces mit IBla benennt dann eben ABla. Und dann sollte auch jeder im Team sich daran halten und so schlau sein die Klasse so zu verwenden, wie es gedacht ist. Bisher hatte ich noch nie ein echtes Problem damit um nach einen "Workaround" zu fragen | |
| | |
| | #4 (permalink) | |
| DeRailed Registriert seit: Sep 2006
Beiträge: 321
| Zitat:
Eine "einfache" und wirksame Lösung ist, den Konstruktor als private zu deklarieren. Allerdings ist dies in AS3 nicht mehr möglich. Eine "ausgebaute" Variante findest du hier: http://www.actionscript.org/resource...S20/Page1.html Aber es stimmt, eigentlich sollte eine Namenskonvention ausreichen... | |
| | |
| | #5 (permalink) |
| Nagelneuer User Registriert seit: Dec 2005
Beiträge: 924
|
Eine andere Möglichkeit ist es, ein Interface und eine Basisklasse zu benutzen, die das Interface nicht implementiert. Dann hast du den Vorteil, dass dir der Compiler hilft. Zum Beispiel, anstatt einer abstrakten Klasse mit einer implementierten Methode a und einer abstrakten Methode b nimmst du eine Basisklasse mit der Methode a und ein Interface mit der Methode b und schreibst dann class X extends Basisklasse implements Interface. Wenn du jetzt die Methode b in X nicht implementierst, meckert der Compiler.
__________________ The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D Geändert von hazy fantazy (09-01-2007 um 23:28 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |