Soit j'ai pas la bonne définition de "surcharge", soit tu confonds deux notions de la POO...
Pour moi, la surcharge consiste à avoir plusieurs méthodes au nom identique mais aux paramètres différents.
Exemple :
classMath{publicstaticintmax(inta,intb){// Returns the greater of two int values.}publicstaticdoublemax(doublea,doubleb){// Returns the greater of two double values.}}
Et selon le type de a et de b, c'est la première ou la deuxième méthode qui sera invoquée.
Tandis que le polymorphisme consiste à avoir la même méthode, avec la même signature, redéfinie dans une classe-fille. Dans l'exemple python que tu indiques, c'est du polymorphisme : la classe-fille redéfinit le comportement d'une méthode de sa classe-mère.
[^] # Re: Polymorphisme
Posté par windu.2b . En réponse au journal Livre d'intro à la programmation avec Python 3. Évalué à 3.
Soit j'ai pas la bonne définition de "surcharge", soit tu confonds deux notions de la POO...
Pour moi, la surcharge consiste à avoir plusieurs méthodes au nom identique mais aux paramètres différents.
Exemple :
Et selon le type de
aet deb, c'est la première ou la deuxième méthode qui sera invoquée.Tandis que le polymorphisme consiste à avoir la même méthode, avec la même signature, redéfinie dans une classe-fille. Dans l'exemple python que tu indiques, c'est du polymorphisme : la classe-fille redéfinit le comportement d'une méthode de sa classe-mère.