Retour à la leçonMission
Mission : securiser un compte bancaire et unifier les notifications
Utiliser encapsulation, traits, interfaces et enums pour corriger une classe CompteBancaire qui expose son solde directement.
Contexte
Une revue de code trouve que la classe CompteBancaire declare public float $solde; au lieu de private, ce qui permet a n'importe quel code exterieur d'ecrire $compte->solde = -500; sans passer par retirer() ni verifier les regles metier. Par ailleurs, deux classes Administrateur et Client dupliquent chacune une methode notifier() presque identique, et un champ $statut de commande est represente par de simples chaines ("en_attente", "expediee", "livree") sans aucune garantie qu'une valeur invalide ne s'y glisse.