débutant java Polymorphisme
bonjour,
je viens de tester ce code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class A {
public void f(double x){
System.out.println("A.f(double="+x+")");
}
}
class C extends A {
public void f(long q){
System.out.println("c.f(long="+q+")");
}
}
class Polym {
public static void main(String args[]){
byte bb =1; long q=4; float x = 5.f;
A a = new A();
C c=new C(); c.f(bb);c.f(q);c.f(x);
a = c; a.f(bb);a.f(q);a.f(x);
}
} |
résultats:
c.f(long=1) // c'est évidant
c.f(long=4) // c'est évidant
A.f(double=5.0) // c'est évidant
A.f(double=1.0)// pour quoi? c-à-d :pas évidant pour moi!!
A.f(double=4.0) // pour quoi? c-à-d :pas évidant pour moi !!
A.f(double=5.0) // pour quo? c-à-d : pas évidant pour moi!!
d'avance merci.