Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Override sélectif avec super()
Quand tu surcharges (override) une méthode dans une sous-classe, tu peux quand meme reutiliser la logique du parent avec super(). C'est comme une chaine de validation : chaque niveau ajoute ses propres regles sans dupliquer celles du niveau précédent.
Par exemple, dans un système de paiement, la validation de base vérifie le montant, puis la carte ajoute la vérification du numéro, puis la carte securisee ajoute encore la vérification du CVV.
class Base: def valider(self): return self.montant > 0
class Enfant(Base): def valider(self): return super().valider() and self.autre_condition
Crée une hierarchie de paiement : - Paiement(montant) avec valider() qui retourne True si montant > 0 - PaiementCarte(montant, numéro) qui surcharge valider() : retourne True si la validation parente reussit ET que numéro a 16 chiffres - PaiementCarteSecure(montant, numéro, cvv) qui surcharge encore : retourne True si la validation parente reussit ET que cvv a 3 chiffres