Chapitre 1 - Partie 2 : Programmation orientée objet
1. Programmation orientée objet
Section intitulée « 1. Programmation orientée objet »1.1 Vocabulaire
Section intitulée « 1.1 Vocabulaire »| Terme | Définition |
|---|---|
| Classe | Modèle (plan) qui définit les attributs et méthodes d'un type d'objet |
| Objet (instance) | Exemplaire concret créé à partir d'une classe |
| Attribut | Variable attachée à un objet (ses données) |
| Méthode | Fonction attachée à un objet (ses comportements) |
| Constructeur | Méthode spéciale __init__ appelée à la création de l'objet |
1.2 Définir une classe
Section intitulée « 1.2 Définir une classe »class Point: def __init__(self, x, y): self.x = x # attribut self.y = y # attribut
def distance_origine(self): # méthode return (self.x ** 2 + self.y ** 2) ** 0.5
def translater(self, dx, dy): self.x += dx self.y += dy
def __str__(self): return f"({self.x}, {self.y})"1.3 Utiliser une classe
Section intitulée « 1.3 Utiliser une classe »p = Point(3, 4) # création d'un objet (instance)print(p.x) # accès à un attribut → 3print(p.distance_origine()) # appel de méthode → 5.0p.translater(1, -1)print(p) # → (4, 3) grâce à __str__1.4 Méthodes spéciales
Section intitulée « 1.4 Méthodes spéciales »Python permet de définir des méthodes spéciales (dites dunder methods) pour personnaliser le comportement des objets :
| Méthode | Rôle |
|---|---|
__init__(self, ...) | Constructeur : initialise l'objet |
__str__(self) | Représentation lisible (print, str()) |
__repr__(self) | Représentation technique (console interactive) |
__eq__(self, other) | Comparaison == |
__len__(self) | Résultat de len(objet) |
1.5 Encapsulation
Section intitulée « 1.5 Encapsulation »L'encapsulation consiste à regrouper les données (attributs) et les traitements (méthodes) dans un même objet. L'utilisateur interagit avec l'objet uniquement via ses méthodes, sans connaître la structure interne.
class CompteBancaire: def __init__(self, titulaire, solde=0): self.titulaire = titulaire self.solde = solde
def deposer(self, montant): assert montant > 0, "Le montant doit être positif" self.solde += montant
def retirer(self, montant): assert 0 < montant <= self.solde, "Fonds insuffisants" self.solde -= montant
def __str__(self): return f"Compte de {self.titulaire} : {self.solde} €"À retenir
Section intitulée « À retenir »| Concept | Description |
|---|---|
| Classe | Modèle définissant attributs et méthodes |
| Objet | Instance concrète d'une classe |
| Attribut | Donnée attachée à un objet |
| Méthode | Fonction attachée à un objet |
| Encapsulation | Regroupement données + traitements dans un objet |
© 2026 Corentin Dupont - LyCode
Créé avec Astro Starlight