Anatomia unei clase: atribute și metode

Introducere în Programarea Orientată pe Obiecte în Python

George Boorman

Curriculum Manager, DataCamp

O clasă Customer

class Customer:

# Code for class goes here
pass
  • class <name>: începe definiția unei clase
  • Codul din class este indentat
  • Folosiți pass pentru a crea o clasă "goală"
c_one = Customer()
c_two = Customer()
  • Folosiți ClassName() pentru a crea un obiect al clasei ClassName
Introducere în Programarea Orientată pe Obiecte în Python

Adăugarea de metode la o clasă

class Customer:  

def identify(self, name): print("I am Customer " + name)
  • Definiția unei metode = definiția unei funcții în interiorul clasei
  • Folosiți self ca prim argument în definiția metodei
cust = Customer()
cust.identify("Laura")
I am Customer Laura
  • Ignorați self când apelați o metodă pe un obiect
Introducere în Programarea Orientată pe Obiecte în Python
class Customer:  
    def identify(self, name):
        print("I am Customer " + name)

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

Ce este self?

  • Clasele sunt șabloane
  • self trebuie să fie primul argument al oricărei metode
  • self este un substituent pentru un obiect (încă necreiat)
  • cust.identify("Laura") va fi interpretat ca Customer.identify(cust, "Laura")
Introducere în Programarea Orientată pe Obiecte în Python

Avem nevoie de atribute

  • OOP grupează datele cu metodele care le prelucrează
    • Numele unui Customer ar trebui să fie un atribut

 

$$\text{\Large{Atributele se creează prin atribuire (=) în metode}}$$

Introducere în Programarea Orientată pe Obiecte în Python

Adăugarea unui atribut la o clasă

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
Introducere în Programarea Orientată pe Obiecte în Python

Versiunea veche

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 

Versiunea nouă

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
Introducere în Programarea Orientată pe Obiecte în Python

Să exersăm!

Introducere în Programarea Orientată pe Obiecte în Python

Preparing Video For Download...