====== 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.