Bonjour,
Je cherche un avis sur une façon de coder en POO.
Je voulais savoir si la façon de faire que je vais présenter dessous est une facon connue et employée.
Je voudrais en fait mélanger du static et du dynamique dans une class de manière à ce que l'accès statique puisse contrôler toutes les instances de la classe.
Je m'explique avec un exemple :
Prenons la classe Ennemi.
je peux instancier des Ennemi :
ennemi = new Ennemi() ;
et dans la meme classe je voudrais faire une fonction statique, bougerEnnemi, qui bougerait tous les ennemis.
En code ça donnerait (AS2 pour la présentation facile à comprendre) :
Cette facon serait motivée par le fait que je préfèrerais que la fonction bougerLesEnnemi() se trouve dans la classe Ennemi que dans une autre classe. Et ça me permettrait de stocker certaines données relatives à la création de mes ennemis dans la classe directement plutot qu'à n'importe quel autre endroit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class Ennemi{ static public var ennemiTab:Array ; //tableau qui pointera vers toutes les instances Ennemi function Ennemi (){ //le constructeur } function bouger(){ //bouge l'ennemi } static function init(){ // fonction statique qui me créerait tous mes ennemis for(...) Ennemi.ennemiTab[i] = new Ennemi(); } static function bougerLesEnnemi(){ // fonction statique qui ferait bouger tous mes ennemis for(...) Ennemi.ennemiTab[i].bouger(); } }
Qu'est ce que vous pensez de cette facon de faire, est-ce que c'est employé, est-ce que c'est complètement NON recommandé, est-ce que c'est trop farfelu pour que quelqu'un ait essayé de l'envisager ?
Merci de vos réponses![]()
Partager