Exercices POO Etendre une méthode du parent
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Etendre une méthode du parent

Parfois, tu ne veux pas remplacer completement une méthode du parent, mais l'etendre : faire ce que fait le parent, puis ajouter quelque chose.

Pour ca, tu appelles super().méthode() dans ta méthode surchargee :

class Personne:
def __init__(self, nom, age):
self.nom = nom
self.age = age

def __str__(self):
return f'{self.nom} ({self.age} ans)'

class Employe(Personne):
def __init__(self, nom, age, poste):
super().__init__(nom, age)
self.poste = poste

def __str__(self):
base = super().__str__()
return f'{base} - {self.poste}'

e = Employe('Alice', 30, 'dev')
str(e) renvoie 'Alice (30 ans) - dev'

Crée une classe Log avec une méthode formater(message) qui renvoie '[LOG] message'. Puis une classe LogHorodate(Log) qui etend formater pour ajouter un horodatage :

LogHorodate recoit un horodatage a la création et formater renvoie '[2025-01-15] [LOG] message'.

Exemple :
l = LogHorodate('2025-01-15')
l.formater('erreur') renvoie '[2025-01-15] [LOG] erreur'

Tests (3/4)

Log simple
l = Log()
assert l.formater('test') == '[LOG] test'
Log horodate
l = LogHorodate('2025-01-15')
assert l.formater('erreur') == '[2025-01-15] [LOG] erreur'
Autre date
l = LogHorodate('2024-06-01')
assert l.formater('ok') == '[2024-06-01] [LOG] ok'

+ 0 tests cachés

Indices (3 disponibles)

solution.py