Voilà j'ai un projet à faire et j'aimerai juste avoir quelques aides pour la composition de mes classes.
Le sujet est en pièces jointes ! Merci !
Version imprimable
Voilà j'ai un projet à faire et j'aimerai juste avoir quelques aides pour la composition de mes classes.
Le sujet est en pièces jointes ! Merci !
Proposes déjà un premier modèle :)
A vu de nez :
- Une classe/interface pour regrouper les éléments déplaçables sur ta carte
- Des classes pour les éléments, qui implements/extends la classe/interface ci dessus
- une classe "carte", avec un tableau à 2 dimensions
Ensuite il faut voir si tu peux placer plusieurs éléments sur une même case :
- si oui, ta carte contient un tableau de "Cellule", une classe qui peut contenir plusieurs éléments : personnes, medocs, etc
- si non, un simple tableau d'éléments
Je ne pense pas qu'il soit utile que les éléments du jeu connaissent leurs positions, c'est la "Carte" qui stocke ça.
DODO...
J'avais pensé à une classe Case dans lequel je créerai le tableau à 2 dimensions. Une classe Citoyen et une classe Hopital héritant de la classe Case. Ensuite une classe Medecin et Non_medecin héritants de la classe Citoyen. Puis une classe Malade, Non malade et Malade Difficile héritant de la classe Non-médecin. Qu'en pensez-vous ?
Quant au bureau de crise qui comptabilise le nombre de malades , de non malades et de victimes à tout instant je nsais pas trop quoi en faire. Si cela doit être un simple compteur ou une classe.
Et une petite précision. J'aimerai que vous répondiez à ces questions pour m'éclairer.
Les classes abstraites sont des classes dont au moins une méthode a été déclaré abstract?Peut-on quand même mettre des instructions dans la méthode abstract?
Les interfaces sont des classes dont aucune des méthodes n'ont été déclarées?
Peut-on implémenter les interfaces sous plusieurs versions ?
dans une classe abstract, il y a au moins une methode abstract, sinon ça n'a pas trop de sens ^^
les interfaces sont des "contrats"
une interface donne les signatures d'une ou plusieurs methodes
quand une classe implémente une interface, elle doit remplir le "contrat" de l'interface, c'est à dire, implémenter les méthodes dont les signatures sont données dans l'interface.
bien sûr qu'on peut implémenter les interfaces sous plusieurs versions !
ça veut dire que plusieurs classes implémentent la même interface
mais elles ne font pas forcément la même chose
c'est même tout l'intérêt des interfaces !
D'accord merci. Donc que penses-tu de mes compositions de classe ?
Le problème que j'ai est comment je vais créer la grille(tableau à 2 dimensions?), et surtout comment insérer des objets(hopital,citoyen...) dans la grille?
Parce que Citoyen est un objet contenu dans la grille ?
Tu dis que la classe Case contient un tableau à 2 dimensions
Si Citoyen hérite de Case, il aura aussi ce tableau
Je ne vois pas trop à quoi sert ce tableau dans le cas d'un citoyen :/
Oui, pas faux vu comme ça !
Le tableau je devrai le faire dans le constructeur de la classe Case ?
Je pense que tu devrais avoir une classe Carte, qui elle contient un tableau de "Case"
Après, tu peux faire hériter Citoyen, et toutes tes autres classes de Case.
Dans la classe Carte, ton tableau va contenir les éléments de ta simulation.
Certaines cases de ce tableau vont avoir la valeur "null"
Mais je pense que ta classe Case est mal nommée dans ce cas.
(son nom n'a pas vraiment de sens)
Oui je devrai l'appeler Carte c'est plus clair !!!!
Si je mets le tableau dans le constructeur de la classe Carte. Pour créer des objets je devrai donc faire appel au constructeur de la classe Carte.
par contre, il faut que tous les éléments de ta simulation plaçables sur la Carte :
- hérite d'une classe commune
- ou implémente la même interface
Dans chaque constructeur des différentes classes, je devrais créer mon objet?
Par exemple dans la classe hopital, je devrai utiliser le constructeur de la classe Carte pour créer mon objet hôpital ?
Ben tous les éléments de ma carte(hopital,citoyen,malade...) vont hériter de la classe Carte qui sera une classe abstraite vu que je dois au moins initialiser le constructeur pour le tableau 2 D
heuuuu....
tu as déjà fait du Java ?
de la conception objet ?
Car j'ai l'impression qu'on a un peu de mal à se comprendre :/
Je suis débutant.
http://java.developpez.com/cours/
une liste de cours pour apprendre
par contre, si tu travailles sur un projet en temps limité
ça risque d'être assez problématique...
je ne peux pas te donner plus de conseils au sujet de ton projet
car on ne peut pas de comprendre...
il te manque les bases de la programmation orienté objet (poo)
avant de te lancer dans ce projet,
il faut donc que tu apprennes les bases de la poo
Ué le truc c'est que j'ai que 2 semaines, ça sera trop court vu que j'ai d'autres projets aussi. Bon bé tant pis merci de ton aide. Je vais essayer de trouver la composition de mes classes tout seul.++
Ce que je voudrai juste savoir est si c'est bien comme sa que je déclare le tableau 2D: Object[][] Grille= new Object. Object pouvant être soit de type hopital, médecin....