J'ai un Main.fla (contrôlé par Main.as) qui a un enfant nommé Slide (un Movieclip contrôlé par une autre classe, Slide.as).Cette injection de dépendance est-elle dans ActionScript 3?
Parfois, mon objet Diapositive doit appeler la méthode "nextSlide" sur son père, objet principal. Pour ce faire j'ai essayé "this.parent.nextSlide()", mais j'ai eu cette erreur:
1061: Appel à une méthode possiblement indéfinie nextSlide à travers une référence avec le type statique flash.display: DisplayObjectContainer.
Alors, j'ai essayé passer l'objet père par constructeur:
slide var: Slide = new Slide (ce)
Et, sur ma classe Slide, a utilisé ceci:
public function Slide(myParent:Main) {
this.myParent = myParent;
}
...
myParent.nextSlide();
Est-ce correct? Est-ce que cette injection de dépendance?
Merci.
sur une note de côté, vous devriez probablement restructurer comment vous créez tout cela. J'aime penser à la POO en essayant de modéliser quelque chose qui existe dans la vie réelle et d'abstraire et encapsuler l'information. Puisque les objets dans la vie réelle ne changent pas, votre objet ne devrait pas avoir à changer trop. Par conséquent, un objet Diapositive ne doit pas contrôler la classe Main. Une diapositive devrait juste contenir peut-être un animage, un numéro de diapositive, etc. Une classe de contrôle accepterait l'entrée pour changer les diapositives, puis notifierait la main. L'utilisation d'écouteurs d'événements et de dépêches est un excellent moyen de communiquer différents objets – Allan