Exercices Architecture & Patterns Composition : Moteur dans Voiture
🎉

Bravo!

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

Composition : Moteur dans Voiture

La composition est une relation forte entre deux objets : l'objet compose crée lui-meme ses composants. C'est comme un corps humain et son coeur : le coeur est crée avec le corps et ne peut pas exister sans lui.

En programmation, ca se traduit par le fait que l'objet principal crée ses composants dans son __init__ :

class Maison:
def __init__(self):
self.toit = Toit() # la maison crée son propre toit

La delegation, c'est quand un objet transmet un appel de méthode a un de ses composants au lieu de faire le travail lui-meme :

def ouvrir_porte(self):
return self.porte.ouvrir() # on delegue a la porte

Illustre la composition avec :
- Moteur(puissance_cv) avec demarrer() retournant 'Vroooom' et arreter() retournant 'Click'
- Voiture(marque, puissance_cv) qui crée son propre moteur dans __init__
- demarrer() delegue a self.moteur.demarrer()
- arreter() delegue a self.moteur.arreter()
- puissance (property) retourne self.moteur.puissance_cv

Exemple :
v = Voiture('Peugeot', 100)
v.demarrer() # 'Vroooom'
v.puissance # 100

Tests (3/4)

Démarrer
v = Voiture('Peugeot', 100)
assert v.demarrer() == 'Vroooom'
Arrêter
v = Voiture('Renault', 90)
assert v.arreter() == 'Click'
Puissance
v = Voiture('BMW', 300)
assert v.puissance == 300

+ 0 tests cachés

Indices (3 disponibles)

solution.py