Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Surcharge de méthode
Quand une classe enfant definit une méthode qui existe deja dans la classe parente, on dit qu'elle la surcharge (override). L'enfant remplace le comportement du parent par le sien.
Python cherche d'abord la méthode dans la classe de l'objet. S'il ne la trouve pas, il remonte dans la classe parente, et ainsi de suite.
class Animal: def cri(self): return 'je ne sais pas'
class Chat(Animal): def cri(self): return 'Miaou'
class Chien(Animal): def cri(self): return 'Woof'
Chat().cri() renvoie 'Miaou' Animal().cri() renvoie 'je ne sais pas'
Crée une classe Forme avec une méthode aire() qui renvoie 0. Puis crée deux sous-classes : - Carre(Forme) avec un attribut cote, et aire() qui renvoie cote * cote - Triangle(Forme) avec base et hauteur, et aire() qui renvoie base * hauteur / 2
Écris une fonction aire_totale(formes) qui prend une liste de formes et renvoie la somme de leurs aires.
Exemple : formes = [Carre(4), Triangle(3, 6)] aire_totale(formes) renvoie 25.0