Programmation orientée objet en Python
La POO en Python organise le code autour de modèles réutilisables et d’objets concrets.
Classe et objet
Une classe est un modèle ; un objet est une instance créée à partir de ce modèle.
- La classe décrit une catégorie d’objets.
- L’objet possède une identité propre.
Classe
- Modèle abstrait
- Définit les attributs
- Définit les méthodes
Objet
- Instance concrète
- Contient des valeurs
- Peut agir et changer
Attributs et méthodes
Les attributs stockent l’état d’un objet, et les méthodes décrivent ses actions.
- Un attribut est une donnée liée à l’objet.
- Une méthode est une fonction dans la classe.
class Chat:
def miauler(self):
print("Miaou")self désigne l’objet courant dans une méthode.
Constructeur
- 1
Définir
__init__dans la classe. - 2
Recevoir les valeurs de départ.
On crée p = Personne("Lina", 16). Que contient l’objet ?
__init__reçoit "Lina" et 16.self.nomprend "Lina".self.ageprend 16.
L’objet p possède les attributs nom = Lina et age = 16.
`__init__` prépare l’objet, mais ne le crée pas.
Encapsulation
L’encapsulation regroupe données et méthodes pour limiter l’accès direct aux détails internes.
- On manipule l’objet par ses méthodes.
- Les attributs internes sont moins exposés.
- Le code devient plus sûr et plus clair.
- attribut
- Donnée stockée dans un objet.
- méthode
- Fonction associée à une classe.
- self
- Référence à l’objet courant.
Héritage
Classe mère
- Contient les éléments communs
- Peut être réutilisée
- Base d’une famille de classes
Sous-classe
- Récupère les attributs et méthodes
- Ajoute des éléments spécifiques
- Peut redéfinir un comportement
L’héritage réutilise la base, puis spécialise le comportement.
Bilan
- Une classe définit un modèle, un objet en est une instance.
- Les attributs décrivent l’état, les méthodes décrivent les actions.
__init__initialise l’objet dès sa création.- L’encapsulation organise l’accès aux données.
