Object-Orinted Programming

OOP
objekti-otinteeritud programeerimine (OOP) on programeerimise paradigma, mis kasutab objekte
Python on objekti-orinteeritud programeetimiskeel
Pythonis kõik asjad on objektid

Objekt
objekt kirjeldab ära konkreetse loogilise kogumi. Näiteks õues olev punane auto on üks objekt. Selle taga olev roheline auto on teine objekt jne.
Tavaliselt mõtleme me arvust kui ühest väärtuset. Objekt koosneb tavaliselt mitmest väärtuset – värv, mark, pikkus, registrimass jne.

Klass
Klass kirjeldab ära struktuuri, näiteks autol on värv, pikkus jne
klass (üldiselt) ei sisalda andmeid. Klass on andmetüüp. Samatüüpi andmed pärinevad kõik ühest klassist, punane auto on auto, roheline auto on auto jne.
Kuigi meil on maailmas mitu autot (objekti), siis meil on üks auto

OOP tehnikad
1. Kapseldamine (enkapsulation)
funktsionaalsus peidetakse
2. Modulaarsus (modularity)
programm jagatakse iseseisvateks tükkideks
3. Polümorfism (polymorphism)
alamklass saab meetodeid üle kirjutada
4. Pärimine (inheritance)
alamklas pärib omadused ja meetodid