Outils pour utilisateurs

Outils du site


les_programmes_a_connaitre:structure_de_donnees_term:definition

Création d'une classe

La création d'une classe va commencer par le mot class.

class Voiture:
#instructions, paramètres, etc...

Pour créer une nouvelle instance de la classe:

clio = Voiture()
peugeot407 = Voiture()

Les attributs

Penchons nous sur les attributs :

class Voiture:
    pass
 
clio = Voiture()
clio.couleur = "Noir"
peugeot407 = Voiture()
peugeot407.couleur = "Blanc"

Nous venons de créer un attribut “couleur” pour les deux instances de la classe. Cependant, cela n'est pas une bonne pratique. Il existe un moyen plus propre et efficace pour définir des attributs.

Les méthodes

Utilisation d'une méthode (une fonctions définie dans une classe)

class Voiture:
    def __init__ (self):
        self.couleur = "Noir"

La méthode __init__ est automatiquement exécutée lors de la création d'une instance. Le mot self est obligatoirement le premier argument d'une méthode, ce mot self représente l'instance.
Lors de la création d'une nouvelle instance, la couleur sera automatiquement noir.

Pour faire en sorte de pouvoir définir la couleur de chaque voiture, nous allons modifier cette classe :

class Voiture:
    def __init__ (self, couleurVoiture):
        self.couleur = couleurVoiture
clio = Voiture("Noir")
peugeot407 = Voiture("Blanc")

Au moment de la création de l'instance, on passe comme argument la couleur de la voiture. La méthode __init__ va ensuite attribuer l'argument couleurVoiture à la variable couleur.

Nous pouvons ensuite ajouter d'autres méthodes :

class Voiture:
    def __init__ (self, couleurVoiture, nbrKM):
        self.couleur = couleurVoiture
        self.kilometres = nbrKM
 
    def ajouterKM(self):
        self.kilometres = self.kilometres + 1
 
    def donneKM(self):
        return self.kilometres
    def donneCouleur(self):
        return self.couleur
 
clio = Voiture("Blanc", 100)
clio.donneKM() #renvoie 100
clio.ajouterKM() #ajoute 1
clio.donnerKM() #renvoie 101
les_programmes_a_connaitre/structure_de_donnees_term/definition.txt · Dernière modification: 2021/01/19 11:04 de bl