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);
	}
}