Methode super et constructeur java

Résolu/Fermé
titfofol
Messages postés
172
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2010
- 28 janv. 2009 à 19:20
titfofol
Messages postés
172
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2010
- 29 janv. 2009 à 02:02
Bonjour,

La j'avoue que je suis un peu perdu... je ne comprends pas vraiment... Je dois redéfinir partiellement une methode donc je dois utiliser la methode super c'est ca?

Pour l'utiliser il faut que je fasse super.MaMethode(){Mon code} c'est ca?

Mais pour créer un super il faut que je le crée dans un constructeur?

Mais ce sera le constructeur de quoi? Comment je crée mon constructeur?

Merci de l'aide que vous m'apporterai

Cordialement

Titfofol

5 réponses

deglingo592003
Messages postés
77
Date d'inscription
jeudi 27 novembre 2008
Statut
Membre
Dernière intervention
31 janvier 2014
11
28 janv. 2009 à 23:06
je n'est jamais utilisé ça mais il me semble que

si dans ta classe mere tu a une fonction du type

MaFonction(argument1, argument2){

traitement fonction mère

}

dans ta class fille tu redéfini une fonction avec le même nom sauf que la

MaFonction(argument1, argument2){

super.MaFonction(argument1,argument2);

// traitement que tu doit ajouter

}

jamais essayer mais a creuser de ce coter pour ajouter du code sans devoir réécrire l'intégralité de ta fonction.
5
titfofol
Messages postés
172
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2010
9
29 janv. 2009 à 02:02
Bonjour deglingo592003,

En fait se sont mes recherches sur le net qui m'a embrouillé...

Mon maître de stage ma montré ce qu'il fallait faire, et en effet je n'ai pas besoin de constructeur, mais juste une methode qui s'appelle comme la methode que je veux appeller et mettre dessous super.NomMethode() exemple:

public void MaMethode(){
		super.MaMethode();
		/*Mon code*/
	}


En fait super.MaMethode() me permet de prendre en intégralité ce qu'il y avait dans MaMethode() et de rajouter du code voila...

Cordialement

Titfofol
2
deglingo592003
Messages postés
77
Date d'inscription
jeudi 27 novembre 2008
Statut
Membre
Dernière intervention
31 janvier 2014
11
28 janv. 2009 à 22:13
quand tu utilise le mot super() en gros c'est que tu es dans une classe dite "fille" et ce mot clé super te permettra d'utiliser les attribut et méthodes de ta classe mère

tu parle de redéfinir une méthode c'est a dire que tu doit modifier une méthode déja existante ?

car si tu veux juste appeller une méthode de la classe mère tu fait juste un super.nomDeLaMethode()

si la méthode doit juste fait quelque chose de different tu peut donc redéfinir ta fonction en mettant dans ta classe fille le même nom de fonction avec le même nombre et type d'argument que dans la fonction mère

enfin c'est ce que je croit avoir comprit dans ta question


pour tout ce qui est du super() va coir par la ---> https://www.commentcamarche.net/contents/556-java-l-heritage
1
titfofol
Messages postés
172
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2010
9
28 janv. 2009 à 21:02
Personne ne veux m'aider?! je n'arrive pas à créer mon constructeur... je veux juste la première ligne . Au départ j'ai mit public NomClassRetouché {Code avec le Super)} Mais ca ne veux pas. Dans tout les tutoriaux ils disent la même chose....

Cordialement

Titfofol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
titfofol
Messages postés
172
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
14 décembre 2010
9
28 janv. 2009 à 22:18
Bonjour,

Alors, oui j'ai effectivement une methode dans ma class mère et j'aimerai à partir de ma class fill utiliser ma methode et en plus de ca insérer de nouvelles informations (affichage) dans ma methode... pour que après dans les class filles de ma class fille (qui sera donc mère) je puisse réutilisé ma methode... je sais que c'est un peu charabia mais bon... tu vois à peu près ce que je veux faire?

Cordialement

Titfofol
0