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 28 29 30 31 32 33 34 35
| package testGenericite;
class Animal {
public String espece ;
public Animal (String espece) {this.espece = espece ;}
public Animal (Animal parent) {this.espece = parent.espece ;}
}
class Chien extends Animal {
public Chien () {super ("Chien") ;}
public Chien (Chien parent) {super (parent) ;}
}
public class Couple <TypeAnimal extends Animal> {
TypeAnimal male, femelle ;
public Couple (String espece) {
male = new Animal (espece) ;
femelle = new Animal (espece) ;
}
public Couple (Animal male, Animal femelle) {
this.male = male ;
this.femelle = femelle ;
}
public Couple (Chien male, Chien femelle) {
this.male = male ;
this.femelle = femelle ;
}
public Couple (TypeAnimal male, TypeAnimal femelle) {
this.male = male ;
this.femelle = femelle ;
}
public Couple (Couple parents) { // tant pis pour la consangüinité
male = new Animal (parents.male.espece) ;
femelle = new Animal (parents.femelle.espece) ;
}
} |
Partager