Programmation Orientée Objet (POO)

Paradigme utilisant des objets avec données et méthodes (4 piliers).

La Programmation Orientée Objet (POO) est un paradigme qui structure le code autour d'« objets »—des unités autonomes contenant des données (attributs) et du code (méthodes).

Quatre piliers de la POO :
1. Encapsulation : Regrouper données et méthodes, cacher l'état interne
2. Abstraction : N'exposer que les caractéristiques essentielles
3. Héritage : Les classes héritent des propriétés/méthodes des classes parentes
4. Polymorphisme : Même interface, différentes implémentations

        graph LR
  Center["Programmation Orientée Objet (POO)"]:::main
  Rel_functional_programming["functional-programming"]:::related -.-> Center
  click Rel_functional_programming "/terms/functional-programming"
  Rel_java["java"]:::related -.-> Center
  click Rel_java "/terms/java"
  Rel_stored_program_concept["stored-program-concept"]:::related -.-> Center
  click Rel_stored_program_concept "/terms/stored-program-concept"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 1

🧒 Explique-moi comme si j'avais 5 ans

Pense aux instructions LEGO. Une classe, c'est comme les instructions pour construire une maison. Chaque maison que tu construis en suivant ces instructions est un objet. Les différentes maisons peuvent partager des pièces (héritage) mais avoir un aspect différent (polymorphisme) !

🤓 Expert Deep Dive

Les principes SOLID guident une bonne conception POO. La composition plutôt que l'héritage évite le problème de la classe de base fragile. Le duck typing (Python) permet le polymorphisme sans héritage.

📚 Sources