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:

# Code for class goes here
pass
  • class <name>: commence une définition de classe
  • Le code à l'intérieur de class est en retrait
  • Utilisez pass pour créer une classe « vide »
c_one = Customer()
c_two = Customer()
  • Utilisez ClassName() pour créer un objet de 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éfinir une méthode = définir une fonction à l'intérieur d'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 gabarits
  • self doit être le premier argument de toute méthode
  • self représente un objet (pas encore créé)
  • cust.identify("Laura") sera 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 et les méthodes qui agissent dessus
    • Le nom d'un Customer devrait être un attribut

 

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

Introduction à la programmation orientée objet en Python

Ajouter un attribut à la classe

class Customer:  
    # Set the name attribute of an object to new_name
    def set_name(self, new_name):

# Create an attribute by assigning a value # Will create .name when set_name is called self.name = new_name
# Create an object # .name doesn't exist here yet cust = Customer()
# .name is created and set to "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:  



    # Using a parameter
    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

# Using .name from the object it*self* 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...