Super() dans une classe

Fermé
Scronchh Messages postés 2 Date d'inscription mercredi 1 septembre 2010 Statut Membre Dernière intervention 3 septembre 2010 - 1 sept. 2010 à 13:51
Scronchh Messages postés 2 Date d'inscription mercredi 1 septembre 2010 Statut Membre Dernière intervention 3 septembre 2010 - 3 sept. 2010 à 20:24
Salut,

Je suis un tuto de Java mais j'ai un problème avec le mot clé super().
On dit que c'est pour récupérer les méthodes de la classe mère, mais les méthodes je les récupère avec extends, non?

Merci d'avance,

3 réponses

ailp Messages postés 83 Date d'inscription vendredi 16 avril 2010 Statut Membre Dernière intervention 16 septembre 2010 8
Modifié par ailp le 3/09/2010 à 11:03
Bonjour

Il faut utiliser super() dans la classe fille pour appeler les méthodes et attributs de la classe mère...

Public class mere{
int A, B;
public ex1(int a, int b) { A=a; B=b; }
}

Public class fille extends mere{
public ex2(int c, int d) { super(c,d); }
}

Dépannage, formation et création de site internet en Gironde
www.ailp-informatique.net
1
le mot-clé super permet d'appeler un constructeur d'une classe de base. En fait, il possède également un autre rôle, celui de forcer l'appel d'une méthode quelconque d'une classe de base. En voici un exemple :
class A
{ void f() { ..... }

class B extends A
{ void f() { ..... }
public void test()
{ this.f() ; // appelle f de B
super.f() ; // appelle f de A
}
}
D'une manière générale un appel tel que super.f() remonte la hiérachie d'héritage, à partir de l'ascendant direct de la classe concernée, jusqu'à trouver la méthode voulue.
1
Scronchh Messages postés 2 Date d'inscription mercredi 1 septembre 2010 Statut Membre Dernière intervention 3 septembre 2010
3 sept. 2010 à 20:24
Merci! :D
0