La programmation orientée objet (POO, ou OOP en anglais) est un paradigme de programmation qui organise le code autour d'objets — des entités qui regroupent des données (attributs) et des comportements (méthodes).
C'est le paradigme dominant dans la plupart des langages modernes : Java, Python, C#, PHP, JavaScript, Ruby...
Les 4 piliers de l'OOP
| Pilier | Définition |
|---|---|
| Encapsulation | Regrouper données et méthodes, cacher les détails internes |
| Héritage | Une classe enfant hérite des propriétés d'une classe parent |
| Polymorphisme | Un même appel peut avoir des comportements différents selon l'objet |
| Abstraction | Exposer uniquement ce qui est nécessaire, masquer la complexité |
Exemple
class Animal:
def __init__(self, nom):
self.nom = nom
def parler(self):
raise NotImplementedError
class Chien(Animal): # héritage
def parler(self): # polymorphisme
return f"{self.nom} dit : Woof!"
animals = [Chien("Rex"), Chat("Luna")]
for a in animals:
print(a.parler()) # même appel, comportement différent
À retenir
L'OOP favorise la réutilisabilité, la maintenabilité et la lisibilité du code. Elle s'oppose au paradigme procédural (suite d'instructions) et fonctionnel (transformations sans état). Voir aussi notre définition du Refactoring pour comprendre comment améliorer un code OOP existant.
