Toon posts:

[flash] best practice mbt extenden class

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig met een player waarin ik meerdere afbeeldingen en flv's wil laten zien. voor elk te tonen afbeelding maak ik een ImageObject aan; voor elke flv een VideoObject. Deze objecten hebben een aantal properties en methods gemeen. Daarom maak ik eerst een MediaObject, en definieer ik het Image- en VideoObject als uitbreiding daarop: ImageObject.prototype = new MediaObject();
Het Image- en VideoObject moeten allebei een method getLoadedBytes() hebben, die het aantal geladen bytes retourneert. De invulling van die method is voor beide objecten heel verschillend. Het heeft daarom niet zoveel zin om in het MediaObject al de method getLoadedBytes() te definieren. Aan de andere kant vind ik het wel handig om in het MediaObject vast te leggen welke methods in iedere subclass daarvan aanwezig moeten zijn om de player te laten werken. Ik heb daar nu dus getLoadedBytes() toch maar gedefinieerd, maar dan als lege functie. In de prototypes van het Image- en MediaObject definieer ik dan een nieuwe method.
Is dit een goede manier van werken, of zou ik beter die method in het MediaObject achterwege kunnen laten? of zou ik die method in het MediaObject moeten vullen met de method die nodig is voor het ImageObject, en dan alleen in het VideoObject een nieuwe method definieren?

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 22-04 11:34
Ten eerste gebruiken we sinds Flash MX 2004 niet meer prototyping voor dit soort dingen. Waar jij naar zoekt zijn externe classes en interfaces.

Interfaces zijn een soort lege classes waarin je defineert welke functies in ieder geval moeten voorkomen in een class die die specifieke interface implementeert.

Verwijderd

Topicstarter
Ik heb nog nooit iets met actionscript2 gedaan, en omwille van de tijd moet ik dit dus op de "oude" manier doen. Het verschil met een interface en mijn situatie is, dat ik een heel aantal methods en properties in het MediaObject heb die wel identiek zijn voor alle subclasses.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 22-04 11:34
Je vroeg of het een goede manier van werken is. Dat is het dus niet, want je kan dit veel beter met actionscript 2 doen. Alwaar je classes makkelijk van elkaar kan laten extenden en waar je dus zoiets als interfaces hebt (wat volgens mij exact is wat jij wilt). Je structuur qua class opbouw kan je dan ook gewoon toepassen.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 22-04 11:34
Het zou overigens niet heel veel tijd moeten kosten om dit om te zetten naar AS2 lijkt mij :).