Bonjour,

je travaille sur un exercice de conception en java et je ne comprends pas.
l'objectif est de compléter du code et de construire le diagramme de classes

l'exercice est un jeu de Vampire/Humains et permet de créer des personnages
on dispose des classes suivantes (les constructeurs ne sont pas précisés) :
- Interface IIndividu
- Classe abstraite AIndividu qui implémente IIndividu
- Classe Vampire qui hérite de AIndividu
- Classe Humain qui hérite de AIndividu
- Classe Heros qui hérite de Humain
- Classe Population qui hérite de ArrayList<Individu>
- Classe Jeu

La population est créée dans la classe Jeu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Population population = new Population();
new Humain().add(population); //on créé un humain et on appelle la méthode d'ajout de la classe Humain
La méthode add de la classe Humain :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
@Override
public void add(Population pop){
super.add(pop) ;
pop.nbHumains++;
}
Je ne comprends pas la façon de créer la population qui est inverse à ce que j'aurais fait.
J'aurais créé des personnages (Humains, Vampire, Heros) que j'aurais ajouté à ma population :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Population population = new Population(); //on créé une population
population.add(new Humain()); //on ajoute un humain à la population
Quelqu'un peut m'expliquer le concept et pourquoi on fait comme çà ?
d'avance merci,