[Débutant][Conception] Mettre à jour un objet de type classe
Bonjour en fait voilà comment se présente mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
class Famille {
private final String nomFamille;
private final int age;
private final int enfants;
public Famille(String nomFamille, int age, int enfants){
this.nomFamille = nomFamille;
this.age = age;
this.enfants = enfants;
}
// fin omise |
Ensuite je voudrais programmer une méthode
Code:
Famille setChildrenNumber(int enfants)
pour mettre à jour le nombre d'enfants en cas de naissance ou de décès en renvoyant un objet de type Famille. Le problème c'est que je ne vois pas comment l'implémenter. Faut il refaire un autre constructeur dans la méthode (bien que je ne pense pas cela possible) ou existe-t-il une méthode?
Merci. :wink:
Re: [Débutant]Mettre à jour un objet de type classe
Salut,
Je ne suis pas sur de bien avoir compris ta question mais il me semble que tu peux faire ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
class Famille {
private final String nomFamille;
private final int age;
private final int enfants;
public Famille(String nomFamille, int age, int enfants){
this.nomFamille = nomFamille;
this.age = age;
this.enfants = enfants;
}
public Famille setChildrenNumber(int enfants){
this.enfants = enfants;
return this; // vu que la méthode est appliquée sur l'objet... je ne suis pas sur qu'il est un interet...
} |
Re: [Débutant]Mettre à jour un objet de type classe
Hello,
Citation:
Envoyé par Sylvester
Code:
Famille setChildrenNumber(int age)
hum hum :roll:
une setChildrenNumber qui prend un paramètre "age" ? faudrait plutôt l'appeler "childrenNumber" non ?
plus concrètement, une famille, ça doit plutôt encapsuler une liste de personnes.
Code:
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 26 27
|
class Famille {
private final String nomFamille;
private List<Personne> personnes = new ArrayList<Personne>();
public Famille(String nomFamille){
this.nomFamille = nomFamille;
}
public void addPersonne(Personne p) {
if(p!=null)
personnes.add(p);
}
public void removePersonne(Personne p) {
if(p!=null)
personnes.remove(p);
}
}
class Personne {
private String prenom;
Personne(String prenom) {
super();
this.prenom = prenom;
}
} |