PaliSkill
Python avancé

Leçon 9 / 10 — Chapitre 1: POO : les fondamentaux

Plusieurs classes qui collaborent

Un objet peut avoir un attribut qui est lui-même un autre objet — deux classes distinctes qui collaborent, chacune responsable d'une seule chose.

class Client:
    def __init__(self, nom):
        self.nom = nom

class Commande:
    def __init__(self, client, produit, quantite):
        self.client = client
        self.produit = produit
        self.quantite = quantite

    def resume(self):
        return f"{self.client.nom} commande {self.quantite} x {self.produit}"

amina = Client("Amina")
commande = Commande(amina, "riz", 3)
print(commande.resume())

Ce code affiche Amina commande 3 x riz : Commande reçoit un objet Client complet (pas seulement son nom), stocké dans self.client. resume() accède ensuite à self.client.nom — un enchaînement d'attributs, comme pour un dictionnaire imbriqué (vu dans Python Intermédiaire), mais entre objets.

Cette séparation garde chaque classe simple et responsable d'une seule notion (Client gère un client, Commande gère une commande), plutôt que de tout regrouper dans une seule classe surchargée.

À vous de jouer : créez une classe Client et une classe Commande qui reçoit un objet Client en argument, puis affichez un résumé combinant les deux.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 87 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès