Wat is OOP?

Introductie tot objectgeoriënteerd programmeren in Python

George Boorman

Curriculum Manager, DataCamp

Procedureel programmeren

 

  • Code als een reeks stappen
  • Geweldig voor data-analyse

Trappen

1 Beeldbron: https://unsplash.com/@tateisimikito
Introductie tot objectgeoriënteerd programmeren in Python

Denken in reeksen

 

icons van een persoon in bed gevolgd door een koffie-icoon gevolgd door een aktetas-icoon

 

een verzameling iconen die veel activiteiten voorstellen

Introductie tot objectgeoriënteerd programmeren in Python

Procedureel programmeren

 

  • Code als een reeks stappen
  • Geweldig voor data-analyse

Objectgeoriënteerd programmeren

 

  • Code als interacties tussen objecten
  • Geweldig voor software bouwen
  • Onderhoudbare en herbruikbare code!
Introductie tot objectgeoriënteerd programmeren in Python

Objecten

$$\Large{\text{Object = data + functionaliteit}}$$

silhouet van een persoon met een laptop die een klant voorstelt

                                                  Toestand - de data van een object

                                                  Gedrag - de functionaliteit van een object

Introductie tot objectgeoriënteerd programmeren in Python

Objecten in Python

  • Alles in Python is een object
Object Type
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Introductie tot objectgeoriënteerd programmeren in Python

Klassen als blauwdrukken

  • Klasse: een blauwdruk voor objecten met mogelijke toestanden en gedragingen

klantklasse

Introductie tot objectgeoriënteerd programmeren in Python

Klassen als blauwdrukken

  • Klasse: een blauwdruk voor objecten met mogelijke toestanden en gedragingen

klantklasse die vertakt naar klantobjecten

Introductie tot objectgeoriënteerd programmeren in Python

Klassen in Python

  • Python-objecten van hetzelfde type gedragen zich hetzelfde
  • lists zijn een klasse
    • Gemaakt met komma-gescheiden waarden [1, 2, 3, 4, 5]
    • Delen dezelfde methoden, bijv. .append()
  • Gebruik type() om de klasse te vinden
type([1, 2, 3, 4, 5])
<class 'list'>
Introductie tot objectgeoriënteerd programmeren in Python

Attributen en methoden

Toestand ↔ attributen
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# shape-attribuut df.shape
(3, 2)
  • Gebruik obj. om attributen en methoden te benaderen
Gedrag ↔ methoden
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# head-methode df.head()
   a  b
0  1  4
1  2  5
2  3  6
Introductie tot objectgeoriënteerd programmeren in Python

Attributen en methoden weergeven

# Attributen en methoden weergeven
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Attributen en methoden weergeven
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Introductie tot objectgeoriënteerd programmeren in Python

Spiekbrief

Term Definitie
Klasse Een blauwdruk/template om objecten te bouwen
Object Een combinatie van data en functionaliteit; een instantie van een klasse
Toestand Data bij een object, toegewezen via attributen
Gedrag De functionaliteit van een object, gedefinieerd via methoden
Introductie tot objectgeoriënteerd programmeren in Python

Laten we het herhalen!

Introductie tot objectgeoriënteerd programmeren in Python

Preparing Video For Download...