août 24, 2025

Programmation orientée objet (POO) en Python

python Media Formation

Programmation orientée objet (POO) en Python

La programmation orientée objet (POO) en Python permet de concevoir des programmes plus modulaires, réutilisables et faciles à maintenir.
Elle repose sur le concept de classes et d’objets pour représenter des entités et leurs comportements dans le code.

1. Qu’est-ce qu’une classe et un objet ?

Une classe est un modèle définissant les attributs et les méthodes d’un objet.
Un objet est une instance de cette classe.


# Définition d'une classe
class Etudiant:
    def __init__(self, nom, age):
        self.nom = nom
        self.age = age
    def presentation(self):
        return f"Je m'appelle {self.nom} et j'ai {self.age} ans."
# Création d'un objet
etudiant1 = Etudiant("Sami", 21)
print(etudiant1.presentation())

👉 Pour bien débuter avec Python, consultez notre article sur
l’introduction à la programmation.

2. Attributs et méthodes

Les attributs représentent les données de l’objet, tandis que les méthodes représentent les actions que l’objet peut réaliser.


class Voiture:
    def __init__(self, marque, annee):
        self.marque = marque
        self.annee = annee
    def demarrer(self):
        print(f"La {self.marque} démarre !")
ma_voiture = Voiture("Toyota", 2020)
ma_voiture.demarrer()

3. Héritage en Python

L’héritage permet de créer une nouvelle classe qui hérite des attributs et méthodes d’une classe existante.


class Vehicule:
    def decrire(self):
        print("Je suis un véhicule.")
class Moto(Vehicule):
    def rouler(self):
        print("La moto roule.")
ma_moto = Moto()
ma_moto.decrire()
ma_moto.rouler()

4. Encapsulation et protection des données

En POO, l’encapsulation protège les données internes de l’objet en les rendant privées ou protégées.


class CompteBancaire:
    def __init__(self, solde):
        self.__solde = solde  # attribut privé
    def afficher_solde(self):
        return f"Solde : {self.__solde} DT"
compte = CompteBancaire(500)
print(compte.afficher_solde())

5. Exercices pratiques

  • Créer une classe `Personne` avec nom, âge et une méthode pour se présenter.
  • Créer une classe `Chien` héritant d’une classe `Animal` et ajouter une méthode spécifique.
  • Créer un objet `CompteBancaire` et tester l’encapsulation des données.

Conclusion

Maîtriser la POO en Python vous permet de développer des programmes structurés et évolutifs.
En utilisant classes, objets, héritage et encapsulation, vous pourrez créer des applications complexes tout en maintenant un code lisible et réutilisable.

Voir aussi