"surcharge" et "redéfinition de méthodes" désignent-elles la même chose ?
Salut,
Non, la surcharge ça veut dire créer une méthode avec le même nom qu'une méthode déjà existante mais avec des paramètres différents. Par exemple:
public void maMethode(){}
public void maMethode(String s){}
La méthode maMethode() est surchargée par la méthode maMethode(String s).
La redéfinition d'une méthode veut dire qu'une méthode dans une superclasses est redéfinie dans une sous-classe. Par exemple:
public class c { public void maMethode(){ /* code */ } }
public class d extends c { public void maMethode(){ /* code */ } }
La méthode maMethode() dans la classe c est redéfinie dans la sous-classe d.
Yogo
MxT
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de signature differente Ex :
class A { A(){} A(A a){} }
Merci pour la réponse. Si j'ai bien compris : la surcharge est l'ajout d'une nouvelle méthode de nom identique DANS LA MEME classe (et non pas dans une autre classe) ? C'est bien ça ? Merci Mxt
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de signature
differente
Ex :
class A {
A(){}
A(A a){}
}
Merci pour la réponse.
Si j'ai bien compris : la surcharge est l'ajout d'une nouvelle méthode
de nom identique DANS LA MEME classe (et non pas dans
une autre classe) ? C'est bien ça ?
Merci
Mxt
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de signature differente Ex :
class A { A(){} A(A a){} }
Merci pour la réponse. Si j'ai bien compris : la surcharge est l'ajout d'une nouvelle méthode de nom identique DANS LA MEME classe (et non pas dans une autre classe) ? C'est bien ça ? Merci Mxt
MxT
Redifinition : fourniture d'une nouvelle implémentation à une méthode héritée sans changer la signature.
class A { A() {} }
class B extends A { A(){ toString(); }
ok. merci, c'est très clair :-) MxT
Redifinition : fourniture d'une nouvelle implémentation à une méthode
héritée sans changer la signature.
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de signature differente Ex :
class A { A(){} A(A a){} }
Je viens de penser à un truc : un exemple courant de surcharge est la définition de plusieurs constructeurs pour une même classe, non ? MxT
Exact
Sebastien Mathy
MxT <noSpam> wrote:
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de signature differente Ex :
class A { A(){} A(A a){} }
Merci pour la réponse. Si j'ai bien compris : la surcharge est l'ajout d'une nouvelle méthode de nom identique DANS LA MEME classe (et non pas dans une autre classe) ? C'est bien ça ?
Cela peut aussi être dansd une sous classe.
MxT <noSpam> wrote:
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de
signature differente
Ex :
class A {
A(){}
A(A a){}
}
Merci pour la réponse.
Si j'ai bien compris : la surcharge est l'ajout d'une nouvelle méthode
de nom identique DANS LA MEME classe (et non pas dans
une autre classe) ? C'est bien ça ?
Surcharge : Ajout d'une nouvelle méthode de nom identique mais de signature differente Ex :
class A { A(){} A(A a){} }
Merci pour la réponse. Si j'ai bien compris : la surcharge est l'ajout d'une nouvelle méthode de nom identique DANS LA MEME classe (et non pas dans une autre classe) ? C'est bien ça ?