Bonjour,
Peut-on redéfinir les champs par défaut de la classe-mère? Ma terminologie est peut-être incorrecte, voici un exemple; une classe représente les vertébrés avec ses caractéristiques très générales, une autre les mammifères.
Avec un appel à toString() sur un type Mammal, j'espérais obtenir les champs définis dans la classe Vertebrate et de Mammal selon qu'ils soient redéfinis ou non, mais non, j'obtiens tous ceux de la classe-mère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
40
41
42 public class test { public static void main (String argv[]) { Mammal chien = new Mammal("chien"); System.out.println(chien); } } class Vertebrate { private String name; private boolean skeletton = true; private String skeletton_type = "osseux ou cartilagineux"; private String reproduction = "indéfini"; private String skin = "indéfini"; private String heat = "indéfinie"; public void setName (String name) { this.name = name; } public String toString () { String characteristics = new String(); characteristics += "Nom : " + name + "\n"; String squel = skeletton? "oui": "non"; characteristics += "Squelette : " + squel + "\n"; characteristics += "type : " + skeletton_type + "\n"; characteristics += "Reproduction: " + reproduction + "\n"; characteristics += "Tégument : " + skin + "\n"; characteristics += "Température : " + heat ; return characteristics; } } class Mammal extends Vertebrate { private String reproduction = "vivipare"; private String skeletton_type = "osseux"; private String skin = "pelage"; private String heat = "sang chaud"; public Mammal (String name) { setName(name); } }
Comment adapter ce code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $ java test Nom : chien Squelette : oui type : osseux ou cartilagineux Reproduction: indéfini Tégument : indéfini Température : indéfinie
Merci d'avance,
Gauthier
Partager