Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Système de notification (héritage)
En situation professionnelle, l'héritage sert souvent a definir un comportement commun dans une classe de base, puis a specialiser ce comportement dans des sous-classes.
Voici un cas concret : un système de notifications. Toutes les notifications ont un message et un destinataire, mais la facon d'envoyer change selon le canal (email, SMS, push).
Crée cette hierarchie :
1. Notification (classe de base) - __init__(self, destinataire, message) - envoyer() qui renvoie 'Notification envoyee' (comportement par défaut) - formater() qui renvoie le message tel quel
2. NotificationEmail(Notification) - ajoute un attribut objet (sujet de l'email) - formater() renvoie 'Objet: OBJET -- MESSAGE' - envoyer() renvoie 'Email envoye a DESTINATAIRE'
3. NotificationSMS(Notification) - formater() tronque le message a 160 caracteres max - envoyer() renvoie 'SMS envoye a DESTINATAIRE'
Écris une fonction envoyer_toutes(notifications) qui appelle envoyer() sur chaque notification et renvoie la liste des résultats.
Exemple : e = NotificationEmail('alice@mail.com', 'Bienvenue', 'Nouveau compte') e.formater() renvoie 'Objet: Nouveau compte -- Bienvenue' e.envoyer() renvoie 'Email envoye a alice@mail.com'
Tests (4/5)
Email envoyer
e = NotificationEmail('alice@mail.com', 'Bienvenue', 'Nouveau compte')
assert e.envoyer() == 'Email envoye a alice@mail.com'