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

Répondre à