Bonjour !
Le titre n'est peut-être pas très clair mais je m'explique : en gros on a 2 classes mères A et B et leur classe fille respectives AF et BF.
A contient un B et BF a sa propre méthode. BFmethode()
AF contient un B (déclaré) mais en rélité ce sera obligatoirement un BF, Je souhaiterais que AF puisse appeler BFmethode() de manière "transparente".
J'ai trouvé 1 solution mais je souhaiterais savoir s'il n'y a pas une mieux ? Les cast il faut mieux les éviter non?
Merci de 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 public class Main { //------------C L A S S---------------------- class B{ public B(){ } } class BF extends B{ public BF(){ } public void BFmethode(){ System.out.println("calculer2"); } } class A{ public B b; public A(){ } public A(B b){ super(); this.b=b; } } class AF extends A { public AF(BF bf){ super(bf); BF tmp; tmp= (BF) this.b; tmp.calculer2(); } } //------------M A I N---------------------- public static void main(String[] args) { Main m = new Main(); m.test(); } private void test(){ BF bf=new BF(); new AF(bf); } }
Partager