Salut à tous.

J'ai un comportement que je m'explique mal.
Supposons que j'ai une classe A, dans laquel j'ai 2 méthodes : toto() et tata(). Tata() est appelée par la méthode toto()
Bref :

public class A
{
public void toto()
{
   tata() ;
}
public void tata()
{
   System.out.println("Hello World A") ;
}
}

Ensuite je fais une classe B qui hérite de A. Je redéclare ici la méthode tata()

public class B
{
public void tata()
{
   System.out.println("Hello World B") ;
}
}

Avec ce code, quand je fais B.toto(), j'ai la surprise de voir exécuter la méthode tata() de la classe A. Est-ce un comportement objet normal ?
Il me semblait bien que dans ce cas la méthode tata() de B devrait être appelée, mais là j'ai le comportement inverse.
Note : évidemment, le contexte de l'application est plus complexe que cela, je n'exclue pas que le problème vienne d'ailleurs.

Merci d'avance.

--
Cyriaque Dupoirieux
PCO Technologies
Burolines - 2 ter rue Marcel Doret
31700 Blagnac
Tél : 05.34.60.44.13 - Fax : 05.34.60.44.10

Répondre à