3.1 Introduction à la POO : Le Plan et la Réalisation

Jusqu'ici, nous avons manipulé des données "plates" (chaînes, listes, dictionnaires).
La Programmation Orientée Objet (POO) permet de regrouper les données et les actions qui les concernent au sein d'une même entité : la Classe.

1. Classe vs Objet

Imaginez que la Classe est le plan de construction (le blueprint) et que l'Objet est la réalisation concrète dans la Matrice.

2. La méthode __init__ et le mot-clé self

Pour donner des caractéristiques à nos objets dès leur création, on utilise le constructeur __init__. Le paramètre self est obligatoire : il représente l'objet lui-même (l'équivalent de $this en PHP).

class Agent:
    def __init__(self, nom, matricule):
        self.nom = nom
        self.matricule = matricule
    
    def se_presenter(self):
        return f"Je suis l'Agent {self.nom}, matricule {self.matricule}."

# Création d'un objet (instanciation)
smith = Agent("Smith", "001")
print(smith.se_presenter())
Résultat attendu :
Je suis l'Agent Smith, matricule 001.
Le saviez-vous ?
En PHP, on écrit $this->nom. En Python, on écrit self.nom. La différence majeure est que self doit être explicitement passé en premier argument de chaque méthode de la classe !
Chapitre précédent Chapitre suivant : Attributs et Méthodes