La programmation objet (POO) consiste à regrouper données et traitements dans une même structure appelée objet. C'est un paradigme de programmation qui a l'avantage de localiser en un même endroit toute l'implémentation d'une structure de données abstraite.
Exemple de classe Python :
class Livre:
def __init__(self, titre, auteur, annee):
# Attributs de l'objet
self.titre = titre
self.auteur = auteur
self.annee = annee
def description(self):
"""Méthode normale qui renvoie une description du livre"""
return "'" + self.titre + "' écrit par " + self.auteur + " en " + str(self.annee)
def __repr__(self):
"""Méthode spéciale pour la représentation officielle de l'objet"""
return "Livre(titre='" + self.titre + "', auteur='" + self.auteur + "', annee=" + str(self.annee) + ")"
# Exemple d'utilisation
livre1 = Livre("1984", "George Orwell", 1949)
print(livre1.description()) # '1984' écrit par George Orwell en 1949
print(livre1) # Livre(titre='1984', auteur='George Orwell', annee=1949)
Quelques points clés :
Livreest le nom de la classe. L'usage veut que son nom commence par une majuscule.- Une méthode d'initialisation des objets créant des attributs est nécessaire. En Python, c'est la méthode spéciale
__init__, qui est appelée sur chaque nouvel objet juste après sa création. Cette méthode est appelée constructeur.- Les attributs titre, auteur et annee sont propres à chaque objet de la classe
Livre. Dans la terminologie des langages à objet, on parle d' attributs d'instance .- En Python, c'est par la notation
self.titreque l'attributtitreest créé pour l'objet sur lequel est appelée le constructeur.descriptionest une méthode de la classeLivre. Elle prend obligatoirementselfen paramètre.- L'objet ou instance de classe
livre1est créé avec la syntaxe:livre1 = Livre("1984", "George Orwell", 1949). Les attributs de cette objet sont passés en paramètre.- On accède à un attribut de l'objet par la notation pointée. Par exemple :
livre1.auteurrenvoit"George Orwell". Les méthode sont aussi appelées par par la notation pointée.- La méthode spéciale
__repr__appelée par la fonction native
🔗 Cet exercice de bac 2025 illustre simplement la notion de classe.