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'