Définition
Instance
Une instance est un objet créé à partir d'une classe. En programmation orientée objet, une classe définit un modèle (ou un plan) pour des objets. Chaque instance est un exemple concret de cet objet, avec ses propres données.
Classe
Une classe est une structure de données en programmation orientée objet qui définit des caractéristiques et des comportements (méthodes) pour les objets qui seront créés à partir de celle-ci.
Objet
Dans le contexte de la programmation orientée objet, un objet est une encapsulation de données (attributs) et de comportement (méthodes) qui interagissent avec ces données.
Attribut
Un attribut est une variable définie dans une classe. Chaque instance d'une classe a ses propres attributs, qui peuvent être modifiés indépendamment des autres instances.
Méthode
Une méthode est une fonction définie dans une classe et qui opère sur les objets de cette classe. Les méthodes définissent le comportement des objets.
Pour créer une instance d'une classe en Python, on utilise la syntaxe suivante : nom_instance = NomClasse(). Cette instruction appelle le constructeur de la classe, généralement une méthode appelée __init__, qui initialise l'objet. Par exemple, si nous avons une classe Voiture, nous pouvons créer une instance de cette manière : ma_voiture = Voiture().
Une fois qu'une instance est créée, ses attributs peuvent être accessibles et modifiés en utilisant la syntaxe instance.attribut. Par exemple, si la classe Voiture a un attribut couleur, nous pouvons définir la couleur de ma_voiture (une instance de Voiture) en utilisant : ma_voiture.couleur = 'rouge'. De même, nous pouvons accéder à la valeur de cet attribut via print(ma_voiture.couleur).
Les méthodes définies dans une classe peuvent être appelées sur ses instances en utilisant la syntaxe instance.méthode(). Par exemple, si la classe Voiture a une méthode appelée rouler(), nous pouvons faire rouler notre voiture avec ma_voiture.rouler().
Il est important de comprendre la distinction entre une classe et une instance. Une classe est comme une recette détaillée pour créer des objets, tandis qu'une instance est le résultat concret de cette recette. Cela signifie que la classe Voiture peut être utilisée pour créer plusieurs instances de voitures, chacune ayant ses propres attributs et pouvant exécuter ses méthodes indépendamment des autres.
En Python, les classes peuvent hériter d'autres classes. Cela signifie qu'une classe dérivée peut fonctionner comme une extension d'une classe existante, en réutilisant et en surchargeant ses méthodes et attributs. Les instances de classes dérivées peuvent ainsi bénéficier de fonctionnalités supplémentaires, ce qui permet le polymorphisme - où les mêmes méthodes peuvent avoir différents comportements selon l'instance sur laquelle elles sont appelées.