Bonjour,
J'ai essayé de créer deux classes dont la ClasseB qui étend la ClasseA. Et toutes les deux ont une méthode clone().
Cependant lorsque je fais appel au clone de la ClasseB qui fait lui même référence à la méthode clone de la ClasseA, ça plante ...
Je me doute que j'ai mal programmé, mais je ne vois pas comment faire autrement.
D'avance merci pour votre aide.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 public class Test { public static void main(String[] args) { ClasseB chaine = new ClasseB(); try { chaine = (ClasseB) chaine.clone(); System.out.println(chaine.getChaineB()); } catch (CloneNotSupportedException e) { e.printStackTrace(); } } } class ClasseA implements Cloneable { private String chaineA; public ClasseA() { this.chaineA = "A"; } public void setChaineA(String chaine) { this.chaineA = chaine; } public String getChaineA() { return this.chaineA; } public Object clone() throws CloneNotSupportedException { ClasseA temp = (ClasseA) super.clone(); temp.setChaineA(this.chaineA); return temp; } } class ClasseB { private String chaineB; public ClasseB() { chaineB = "B"; } public void setChaineB(String chaine) { this.chaineB = chaine; } public String getChaineB() { return this.chaineB; } public Object clone() throws CloneNotSupportedException { ClasseB temp = (ClasseB) super.clone(); temp.setChaineB(this.chaineB); return temp; } }
xenos
Partager