Gefeliciteerd

Introductie tot objectgeoriënteerd programmeren in Python

George Boorman

Curriculum Manager, DataCamp

Classes en objecten

Term Definitie
Class Een blauwdruk/sjabloon om objecten te bouwen
Object Een combinatie van data en functionaliteit; een instantie van een class
Introductie tot objectgeoriënteerd programmeren in Python

Attributen en methoden

Term Definitie
Class Een blauwdruk/sjabloon om objecten te bouwen
Object Een combinatie van data en functionaliteit; een instantie van een class
State Data die bij een object hoort, toegewezen via attributen
Behavior De functionaliteit van een object, gedefinieerd via methoden
Introductie tot objectgeoriënteerd programmeren in Python

Kernconcepten

Encapsulation:

  • Bundelen van data en methoden

Inheritance:

  • Functionaliteit van bestaande code uitbreiden

Polymorphism:

  • Eén uniforme interface maken
Introductie tot objectgeoriënteerd programmeren in Python

Vergelijkingen

Operator Methode
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Introductie tot objectgeoriënteerd programmeren in Python

Stringrepresentatie

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informeel, voor eindgebruikers
  • string-representatie

__repr__()

  • repr(obj), afdrukken in console
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formeel, voor developers
  • reproduceerbare representatie
  • fallback voor print()
Introductie tot objectgeoriënteerd programmeren in Python

Fouten afhandelen

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Introductie tot objectgeoriënteerd programmeren in Python

Wat nu?

  • Multiple inheritance
  • Descriptors
  • Custom attributes
  • Custom iterators
  • Type hints
  • Abstract base classes
Introductie tot objectgeoriënteerd programmeren in Python

Laten we oefenen!

Introductie tot objectgeoriënteerd programmeren in Python

Preparing Video For Download...