Anatomie d’une classe : attributs et méthodes

Introduction à la programmation orientée objet en Python

George Boorman

Curriculum Manager, DataCamp

Une classe Customer

class Customer:

# Le code de la classe va ici
pass
  • class <name>: commence une définition de classe
  • Le code dans class est indenté
  • Utilisez pass pour créer une classe « vide »
c_one = Customer()
c_two = Customer()
  • Utilisez ClassName() pour créer un objet de la classe ClassName
Introduction à la programmation orientée objet en Python

Ajouter des méthodes à une classe

class Customer:  

def identify(self, name): print("I am Customer " + name)
  • Définition de méthode = définition de fonction dans une classe
  • Utilisez self comme premier argument d’une méthode
cust = Customer()
cust.identify("Laura")
I am Customer Laura
  • Ignorez self lors de l’appel d’une méthode sur un objet
Introduction à la programmation orientée objet en Python
class Customer:  
    def identify(self, name):
        print("I am Customer " + name)

cust = Customer()
cust.identify("Laura")

Qu’est-ce que self ?

  • Les classes sont des modèles
  • self doit être le premier argument de toute méthode
  • self représente un objet (pas encore créé)
  • cust.identify("Laura") est interprété comme Customer.identify(cust, "Laura")
Introduction à la programmation orientée objet en Python

Nous avons besoin d’attributs

  • La POO regroupe les données avec les méthodes qui les manipulent
    • Le nom de Customer doit être un attribut

 

$$\text{\Large{Les attributs sont créés par une affectation (=) dans les méthodes}}$$

Introduction à la programmation orientée objet en Python

Ajouter un attribut à la classe

class Customer:  
    # Définir l’attribut name d’un objet à new_name
    def set_name(self, new_name):

# Créer un attribut par affectation # Créera .name quand set_name sera appelé self.name = new_name
# Créer un objet # .name n’existe pas encore ici cust = Customer()
# .name est créé et vaut "Lara de Silva" cust.set_name("Lara de Silva")
print(cust.name)
Lara de Silva
Introduction à la programmation orientée objet en Python

Ancienne version

class Customer:  



    # Utilisation d’un paramètre
    def identify(self, name):
        print("I am Customer" + name)
cust = Customer()

cust.identify("Eris Odoro") 
I am Customer Eris Odoro 

Nouvelle version

class Customer:  
   def set_name(self, new_name):
       self.name = new_name

# Utiliser .name depuis l’objet lui-même def identify(self): print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Introduction à la programmation orientée objet en Python

Passons à la pratique !

Introduction à la programmation orientée objet en Python

Preparing Video For Download...