File 47

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 3

Introduction à la Programmation Orientée Objet (POO) en Python

La programmation orientée objet est un paradigme qui organise le code en utilisant des objets,
qui sont des instances de classes. Une classe est comme un plan ou une structure qui définit
les attributs et les méthodes des objets. La POO permet de structurer le code de manière
modulaire et de le rendre plus réutilisable.

Concepts de base de la POO

1. Classes et Objets

 Classe : Modèle ou prototype définissant un ensemble d'attributs et de méthodes pour


les objets.
 Objet : Instance d'une classe, c'est une entité qui a un état et un comportement.

Exemple de Classe et d'Objet :

python
Copier le code
class Voiture:
def __init__(self, marque, modèle, année):
self.marque = marque
self.modèle = modèle
self.année = année

def démarrer(self):
print(f"La {self.marque} {self.modèle} démarre.")

def arrêter(self):
print(f"La {self.marque} {self.modèle} s'arrête.")

# Création d'un objet


ma_voiture = Voiture("Toyota", "Corolla", 2020)
print(ma_voiture.marque) # Affiche 'Toyota'
ma_voiture.démarrer() # Affiche 'La Toyota Corolla démarre.'

2. Attributs et Méthodes

 Attributs : Variables qui appartiennent à une classe ou à des objets. Ils représentent
les données ou l'état de l'objet.
 Méthodes : Fonctions définies dans une classe qui décrivent les comportements de
l'objet.

Exemple d'attributs et méthodes :

python
Copier le code
class Chien:
def __init__(self, nom, race):
self.nom = nom
self.race = race

def aboyer(self):
print(f"{self.nom} aboie : Ouaf ! Ouaf !")
# Création d'un objet
mon_chien = Chien("Rex", "Berger Allemand")
mon_chien.aboyer() # Affiche 'Rex aboie : Ouaf ! Ouaf !'

3. Encapsulation

L'encapsulation consiste à regrouper les données (attributs) et les méthodes qui les manipulent
dans une même classe. Elle permet également de protéger les données en restreignant leur
accès directement depuis l'extérieur de la classe.

Exemple d'encapsulation :

python
Copier le code
class CompteBancaire:
def __init__(self, titulaire, solde):
self.titulaire = titulaire
self.__solde = solde # Attribut privé

def déposer(self, montant):


self.__solde += montant

def retirer(self, montant):


if montant <= self.__solde:
self.__solde -= montant
else:
print("Fonds insuffisants.")

def afficher_solde(self):
print(f"Solde de {self.titulaire} : {self.__solde}€")

# Création d'un objet


mon_compte = CompteBancaire("Alice", 1000)
mon_compte.afficher_solde() # Affiche 'Solde de Alice : 1000€'
mon_compte.déposer(500)
mon_compte.afficher_solde() # Affiche 'Solde de Alice : 1500€'

4. Héritage

L'héritage permet de créer une nouvelle classe à partir d'une classe existante. La nouvelle
classe (classe dérivée) hérite des attributs et méthodes de la classe existante (classe de base).

Exemple d'héritage :

python
Copier le code
class Animal:
def __init__(self, nom):
self.nom = nom

def parler(self):
pass # Méthode à implémenter par les sous-classes

class Chat(Animal):
def parler(self):
print(f"{self.nom} dit : Miaou !")

class Chien(Animal):
def parler(self):
print(f"{self.nom} dit : Ouaf !")

# Création d'objets
chat = Chat("Félix")
chien = Chien("Rex")

chat.parler() # Affiche 'Félix dit : Miaou !'


chien.parler() # Affiche 'Rex dit : Ouaf !'

5. Polymorphisme

Le polymorphisme permet d'utiliser une même méthode ou opérateur de manière différente


selon les objets. En Python, cela peut être réalisé grâce à l'héritage et aux méthodes redéfinies.

Exemple de polymorphisme :

python
Copier le code
class Oiseau:
def __init__(self, nom):
self.nom = nom

def parler(self):
print(f"{self.nom} chante.")

class Perroquet(Oiseau):
def parler(self):
print(f"{self.nom} dit : Coucou !")

class Canari(Oiseau):
def parler(self):
print(f"{self.nom} siffle.")

# Utilisation polymorphique
def faire_parler(oiseau):
oiseau.parler()

perroquet = Perroquet("Polly")
canari = Canari("Tweety")

faire_parler(perroquet) # Affiche 'Polly dit : Coucou !'


faire_parler(canari) # Affiche 'Tweety siffle.'

Conclusion

La programmation orientée objet est un puissant paradigme de programmation qui permet de


structurer le code de manière efficace et modulaire. En maîtrisant les concepts de base comme
les classes, les objets, l'encapsulation, l'héritage et le polymorphisme, vous serez en mesure de
créer des applications plus robustes et maintenables.

Vous aimerez peut-être aussi