Bonjour, chers Javarashites. Il est certain que toutes les personnes interrogées se sont vu poser une question sur le polymorphisme. Je suis donc intéressé par votre réponse et par l'évaluation de votre réponse par l'intervieweur. J'ai eu 2 mini-entretiens où ils ont posé des questions sur le polymorphisme et à chacun d'eux, l'intervieweur n'était pas satisfait de ma réponse. En bref, ma réponse se résumait à remplacer et à attribuer une référence de classe parent à un objet d'une classe enfant. Quelque chose comme ça:
class Parent{
void saySomething(){
System.out.println("Parent!");
}
}
class Child1 extends Parent{
@Override
void saySomething(){
System.out.println("Child1!");
}
}
class Child2 extends Parent{
@Override
void saySomething(){
System.out.println("Child2!");
}
}
class Test{
public static void main(String[] args){
Parent p1 = new Parent();
Parent p2 = new Child1();
Parent p3 = new Child2();
p1.saySomething();
p2.saySomething();
p3.saySomething();
}
}
---------------
Output:
Parent!
Child1!
Child2!
C'est exactement ce qui est écrit sur le site d'Oracle . Ivan Golovach dit que le polymorphisme en Java est implémenté en utilisant l'héritage (ce que j'ai montré dans l'exemple) et en utilisant des génériques. Alors, où est la vérité et comment répondre lors d’un entretien ? J’ai bientôt une interview importante et je ne veux pas me tromper à nouveau sur cette question apparemment fondamentale.
GO TO FULL VERSION