Salut,
C'est normal; il faut que dans la classe B tu red�finisse toto(){
super.toto(); }.
-----Message d'origine-----
De : Cyriaque Dupoirieux [mailto:[EMAIL PROTECTED]]
Envoy� : mardi 3 d�cembre 2002 18:31
� : Liste Java
Objet : Probl�me d'h�ritage !
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