====== Programmation objet ====== === Classes === Une classe permet de regrouper l'ensemble des méthodes et des propriétés commune à un ensemble d'objets. Elle est définie de la manière suivante. class NomDeLaClasse: #instructions de la classe #La définition de la classe est terminée. Comme il est impossible de définir une classe complétement vide, on peut y ajouter l'instruction "pass", qui permet de ne rien faire. class NomDeLaClasse: pass === Objets === L'objet, aussi appelé instance, est créé dans le programme (hors de la classe) sous la forme : objet = NomDeLaClasse() === Attributs === Les attributs sont définis dans la classe grâce à une méthode d'initialisation dans la classe : class NomDeLaClasse: def __init__ (self): self.attribut = valeur #définition des attributs. #self représente l'objet Si, pour chaque objet, la valeur de l'attribut est différente, on peut le définit l'attribut ainsi : class NomDeLaClasse: def __init__ (self, paramètre): self.attribut = paramètre #définition des attributs. #self représente l'objet objetA = NomDeLaClasse(valeurA) objetB = NomDeLaClasse(valeurB) === Méthodes === Une méthode est une fonction dans une classe. Les attributs ne doivent pas être utilisées directement par l'utilisateur. Ce dernier utilisera les méthodes définies dans la classe. class NomDeLaClasse: def __init__ (self): #définition des attributs. def methode(): #instructions de la méthode Par exemple : class Personnage: pass gollum=Personnage() gollum.vie=20 bilbo=Personnage() bilbo.vie=20 On peut aussi utiliser la méthode "self" qui est plus rapide : class Personnage: def __init__(self): self.vie=20 gollum=Personnage() bilbo=Personnage() Elle permet de ne pas répéter plusieurs fois la même chose dans le code.