0% ont trouvé ce document utile (0 vote)
13 vues3 pages

POO Avec Python

La programmation orientée objet (POO) en Python utilise des classes et des objets pour modéliser des concepts du monde réel, comme illustré par la classe Voiture. Cette classe définit des attributs tels que la marque, le modèle et la vitesse, ainsi que des méthodes pour manipuler ces attributs. Les propriétés en Python permettent un contrôle supplémentaire sur l'accès et la modification des attributs, rendant la POO efficace pour la réutilisation du code et l'organisation des données.

Transféré par

abisileifede
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues3 pages

POO Avec Python

La programmation orientée objet (POO) en Python utilise des classes et des objets pour modéliser des concepts du monde réel, comme illustré par la classe Voiture. Cette classe définit des attributs tels que la marque, le modèle et la vitesse, ainsi que des méthodes pour manipuler ces attributs. Les propriétés en Python permettent un contrôle supplémentaire sur l'accès et la modification des attributs, rendant la POO efficace pour la réutilisation du code et l'organisation des données.

Transféré par

abisileifede
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

POO avec Python

March 6, 2024

PROGRAMMATION ORIENTEE OBJET


La programmation orientée objet (POO) est un paradigme de programmation qui permet de mod-
éliser le monde réel en utilisant des concepts tels que les classes et les objets. Pour illustrer la POO
en Python, nous pouvons utiliser l’exemple des voitures.
Supposons que nous voulions modéliser différents types de voitures dans un programme Python.
Nous allons créer une classe appelée Voiture pour représenter les caractéristiques et les comporte-
ments communs à toutes les voitures.
Voici un exemple simple de classe Voiture en Python :

[1]: class Voiture:


def __init__(self, marque, modele, annee):
self.marque = marque
self.modele = modele
self.annee = annee
self.vitesse = 0

def accelerer(self, increment):


self.vitesse += increment

def freiner(self, decrement):


self.vitesse -= decrement

def afficher_vitesse(self):
print(f"La vitesse de la voiture {self.marque} {self.modele} est de␣
↪{self.vitesse} km/h.")

Dans cet exemple :


• La classe Voiture a été définie avec un constructeur __init__ qui initialise les attributs de
chaque objet voiture, tels que la marque, le modèle, l’année de fabrication et la vitesse initiale
(qui est par défaut à 0).
• Nous avons défini des méthodes accelerer() et freiner() pour augmenter ou diminuer la
vitesse de la voiture.
• La méthode afficher_vitesse() affiche la vitesse actuelle de la voiture.
Maintenant, nous pouvons créer des instances spécifiques de voitures à partir de cette classe Voiture
:

1
[2]: # Création d'instances de voitures
voiture1 = Voiture("Toyota", "Camry", 2020)
voiture2 = Voiture("Honda", "Civic", 2018)

# Utilisation des méthodes pour manipuler les voitures


voiture1.accelerer(50)
voiture1.afficher_vitesse() # Affiche: La vitesse de la voiture Toyota Camry␣
↪est de 50 km/h.

voiture2.accelerer(30)
voiture2.freiner(10)
voiture2.afficher_vitesse() # Affiche: La vitesse de la voiture Honda Civic␣
↪est de 20 km/h.

La vitesse de la voiture Toyota Camry est de 50 km/h.


La vitesse de la voiture Honda Civic est de 20 km/h.
Dans cet exemple, nous avons créé deux instances différentes de voitures (voiture1 et voiture2)
à partir de la classe Voiture. Chaque instance a ses propres attributs et méthodes, mais elles
partagent la même structure définie dans la classe Voiture.
La programmation orientée objet en Python permet une modélisation efficace et une réutilisation du
code, tout en favorisant une organisation logique et hiérarchique des données et des fonctionnalités.
1. Classe : Une classe est un modèle ou un plan pour créer des objets. Elle définit les carac-
téristiques communes que possèdent tous les objets de cette classe. Par exemple, dans une classe
Voiture, les caractéristiques communes pourraient être la marque, le modèle et l’année de fabrica-
tion.
2. Attribut : Les attributs sont des variables associées à une classe ou à une instance spécifique de
cette classe. Ils représentent les caractéristiques de l’objet. Dans notre exemple de classe Voiture,
les attributs pourraient être marque, modele, annee et vitesse.
3. Méthode : Une méthode est une fonction associée à une classe qui définit son comportement.
Les méthodes peuvent accéder et manipuler les attributs de la classe. Dans notre exemple, les
méthodes accelerer() et freiner() manipulent la vitesse de la voiture, tandis que la méthode
afficher_vitesse() affiche la vitesse actuelle.
4. Propriété : En Python, les propriétés permettent de définir des méthodes spéciales d’accès
et de modification d’un attribut. Elles permettent un contrôle plus fin sur la manière dont les
attributs sont manipulés.
Par exemple on pourrait créer une propriété vitesse à notre classe voiture pour modiifer de façon
subtile la vitesse de la voiture
En résumé, les classes, attributs, méthodes et propriétés sont des concepts fondamentaux de la
programmation orientée objet qui permettent de modéliser et de manipuler des objets de manière
efficace et structurée.

[4]: class Voiture:


def __init__(self, marque, modele, annee):

2
self._marque = marque
self._modele = modele
self._annee = annee
self._vitesse = 0

@property
def vitesse(self):
return self._vitesse

@vitesse.setter
def vitesse(self, nouvelle_vitesse):
if nouvelle_vitesse >= 0:
self._vitesse = nouvelle_vitesse
else:
print("La vitesse doit être un nombre positif.")

def accelerer(self, increment):


self.vitesse += increment

def freiner(self, decrement):


self.vitesse -= decrement

def afficher_info(self):
print(f"Voiture {self._marque} {self._modele} de {self._annee}. Vitesse␣
↪: {self._vitesse} km/h.")

Ici, @property et @vitesse.setter sont des décorateurs qui permettent de définir une propriété
nommée vitesse. Cela nous permet d’utiliser voiture.vitesse pour accéder à la vitesse et
voiture.vitesse = nouvelle_vitesse pour modifier la vitesse, tout en offrant un contrôle sup-
plémentaire sur les opérations.

Vous aimerez peut-être aussi