Les classes et les objets sont les deux principaux aspects de la programmation orientée objet. Une classe est un modèle pour créer des objets (une instance particulière d'une classe) et un objet est une instance d'une classe.
7.1 Qu'est-ce qu'une classe ?
Une classe est un prototype permettant de créer des objets en Python. Il s'agit d'une structure logique qui possède des attributs et des méthodes définis. Une classe est définie à l'aide du mot-clé class
.
Dans cet exemple, nous créons une classe appelée MyClass
, qui possède un attribut appelé x
avec la valeur 5.
7.2 Qu'est-ce qu'un objet ?
Un objet est une instance d'une classe. Lorsqu'une classe est définie, seule la description de l'objet est définie. Aucun espace mémoire n’est donc alloué. La création d'un objet se fait à l'aide de la fonction constructeur
de la classe. Cette méthode est appelée lorsqu'un objet est créé à partir d'une classe et permet à la classe d'initialiser les attributs de l'objet.
Dans cet exemple, p1
est un objet de classe MyClass
qui possède un attribut appelé x
.
7.3 La fonction __init__()
En Python, la fonction __init__()
est la méthode constructeur appelée lorsqu'un objet est créé à partir d'une classe. Cette méthode est utile pour effectuer toute initialisation que vous souhaitez effectuer avec votre objet. Lorsque vous créez une méthode __init__()
, vous indiquez à Python que lorsqu'un objet est créé à partir de cette classe, l'objet doit être initialisé avec les valeurs spécifiées.
Dans cet exemple, Person
est une classe avec la fonction __init__()
qui prend deux arguments et crée des attributs pour le nom et l'âge.
7.4 Méthodes objets
Les objets peuvent également contenir des méthodes. Les méthodes sur les objets sont des fonctions qui appartiennent à l'objet.
Dans cet exemple, nous définissons une méthode dans la classe Person
appelée myfunc
qui imprime une ligne de texte.
7.5 Le paramètre self
Le paramètre self
est une référence à l'instance actuelle de la classe et est utilisé pour accéder aux variables appartenant à la classe. Il n'est pas nécessaire qu'il soit nommé self
, vous pouvez l'appeler comme vous le souhaitez, mais il doit être le premier paramètre de n'importe quelle fonction de la classe.
7.6 Modification d'objets
Vous pouvez modifier les propriétés des objets comme ceci :
Ou vous pouvez supprimer les propriétés de l'objet :
Vous pouvez également supprimer des objets :
Ce sont les concepts de base des classes et des objets en Python. Ils sont fondamentaux pour la programmation orientée objet en Python et, lorsqu'ils sont combinés avec d'autres concepts tels que l'héritage et le polymorphisme, ils constituent un moyen puissant de structurer votre code.