Klassen: attributen en methoden

Introductie tot objectgeoriënteerd programmeren in Python

George Boorman

Curriculum Manager, DataCamp

Een Customer-klasse

class Customer:

# Code voor de klasse komt hier
pass
  • class <name>: start een klassedefinitie
  • Code binnen class is ingesprongen
  • Gebruik pass om een "lege" klasse te maken
c_one = Customer()
c_two = Customer()
  • Gebruik ClassName() om een object van klasse ClassName te maken
Introductie tot objectgeoriënteerd programmeren in Python

Methoden toevoegen aan een klasse

class Customer:  

def identify(self, name): print("I am Customer " + name)
  • Methode-definitie = functiedefinitie binnen een klasse
  • Gebruik self als eerste argument in de methode-definitie
cust = Customer()
cust.identify("Laura")
I am Customer Laura
  • Negeer self bij het aanroepen van een methode op een object
Introductie tot objectgeoriënteerd programmeren in Python
class Customer:  
    def identify(self, name):
        print("I am Customer " + name)

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

Wat is self?

  • Klassen zijn sjablonen
  • self is het eerste argument van elke methode
  • self staat voor een (nog niet gemaakt) object
  • cust.identify("Laura") wordt geïnterpreteerd als Customer.identify(cust, "Laura")
Introductie tot objectgeoriënteerd programmeren in Python

We hebben attributen nodig

  • OOP bundelt data met methoden die op die data werken
    • De naam van Customer moet een attribuut zijn

 

$$\text{\Large{Attributen maak je aan via toekenning (=) in methoden}}$$

Introductie tot objectgeoriënteerd programmeren in Python

Voeg een attribuut toe aan een klasse

class Customer:  
    # Stel het name-attribuut van een object in op new_name
    def set_name(self, new_name):

# Maak een attribuut aan door een waarde toe te kennen # Maakt .name aan wanneer set_name wordt aangeroepen self.name = new_name
# Maak een object aan # .name bestaat hier nog niet cust = Customer()
# .name wordt aangemaakt en ingesteld op "Lara de Silva" cust.set_name("Lara de Silva")
print(cust.name)
Lara de Silva
Introductie tot objectgeoriënteerd programmeren in Python

Oude versie

class Customer:  



    # Met een parameter
    def identify(self, name):
        print("I am Customer" + name)
cust = Customer()

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

Nieuwe versie

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

# Gebruik .name van het object zelf def identify(self): print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Introductie tot objectgeoriënteerd programmeren in Python

Laten we oefenen!

Introductie tot objectgeoriënteerd programmeren in Python

Preparing Video For Download...