Problème programmation orientée objet

Problème programmation orientée objet - Java - Programmation

Marsh Posté le 02-05-2011 à 20:41:34    

Bonjour,
j'ai une petite question concernant la POO. Je m'explique :
J'ai un objet Grid :

Code :
  1. import java.util.*;
  2. import java.io.*;
  3. import java.lang.Math;
  4. public class Grid {
  5. private static Cell[][] grid;
  6. private int sizeOfGrid;
  7. public Grid(int size) { // Déclaration d'un tableau de cellules
  8.  sizeOfGrid = size;
  9.  grid = new Cell[size][size];
  10. }


 
Cette objet grille est un tableau d'objet Cell :
 

Code :
  1. public class Cell {
  2. private CellStatus status;
  3. private int aliveNeighbour;
  4. public Cell() {
  5.  status.makeCellDead();
  6.  aliveNeighbour = 0;
  7. }


et finallement, la classe Cell contient un objet CellStatus:

Code :
  1. public class CellStatus {
  2. private boolean alive;
  3. public CellStatus (boolean isAlive) {
  4.  alive = isAlive;
  5. }


 
Le booléen alive de l'objet CellStatus permet de voir si une cellule est vivante ou morte. Dans le programme, je dois pouvoir changer le statut d'une cellule.
Par exemple : grid[x][y].makeCellDead();
 
Je vous demande comment je dois m'y prendre. Si des variables doivent être statiques, etc...
 
Merci

Reply

Marsh Posté le 02-05-2011 à 20:41:34   

Reply

Marsh Posté le 02-05-2011 à 22:53:57    

je ne comprend pas pourquoi tu crées une classe CellStatus qui a priori me semble inutile.

 

Pourquoi pas:

 
Code :
  1. public class Cell {
  2. private boolean alive;
  3. private int aliveNeighbour;
  4. public Cell() {
  5. this.makeCellDead();
  6. aliveNeighbour = 0;
  7. }
  8.  
  9. public makeCellDead(){
  10. alive = false;
  11. }
  12.  
  13. public makeCellAlive(){
  14. alive = true;
  15. }
 

Ensuite ton  grid[x][y].makeCellDead() marche :o


Message édité par esox_ch le 02-05-2011 à 22:54:31

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 03-05-2011 à 13:13:30    

Tout a fait et s'il ya plus qu'un deux status (dead/alive/pending/starving/ghost/obiwan) tu peux regarder du coté des enums


---------------
A religious war is like children fighting over who has the strongest imaginary friend.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed