[héritage] accès à une méthode d'un objet fille déclaré mère depuis une autre classe
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:
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);
}
} |