Bonjour,
Je dispose d'une classe possédant un membre qui est un tableau 2D d'objets nommé "Cell"
J'aurais besoin d'une classe qui fasse la même chose mais avec un tableau 3D d'objets "Cell"
La façon a éviter consiste à écrire une classe qui possède un membre :
puis une autre classe qui possède :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cell[][] cell = new Cell[N1][N2]
Evidemment, ceci est très mauvais car les opérations sur l'objet Cell que je veux effectuer sont les mêmes quelle que soit la dimension 2 ou 3 du tableau et j'aurais donc plein de code dupliqué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cell[][][] cell = new Cell[N1][N2][N3]
Une autre façon de faire consiste à n'écrire qu'une seule classe qui contienne le tableau 3D :
et il suffit d'écrire un constructeur avec N1 en paramètre de telle sorte que si N1 = 1, je travaille en 2D et si N1 > 1 je suis en 3D.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cell[][][] cell = new Cell[N1][N2][N3]
Je voulais savoir s'il existait un autre moyen "plus élégant" style template ou héritage de façon à traiter le problème et éviter de réécrire inutilement du code.
Merci.
Partager