Object-oriented programming (OOP)
Objekt
- Objekt kirjeldab ära konkreetse loogilise kogumi: 1)näiteks õues olev punane auto on üks objekt. 2)selle taga olev roheline auto on teine objekt ja jne.
- Tavaliselt mõtleme me arvust kui ühest väärtusest (nt 7)
- Objekt koosneb tavaliselt mitmest väärtusest 1)Värv, mark, mudel, pikkus, registrimass jne.
Klass
- Klass kirjeldab ära struktuuri. 1)näiteks autol on värv, pikkus jne.
- Klass (üldeselt) ei sisalda andmeid.
- Klass on andmetüüp
- Samatüüpi andmed pärinevad kõik ühest klassist 1)Punane auto on auto; roheline auto on auto jne
- Kuigi meil on maailmas mitu autot (objekti), siis meil on üks auto
OPP
- Objekti-orienteeritud programmeerimine (OOP) on programmeerimise paradigma, mis kasutab objekte
- Python on objekti-orienteeritud programmeerimiskeel
- Pythonis kõik asjad on objektid
OOP tehnikad:
- Kapseldamine (encapsulation) 1)Funktsionaalsus peidetakse
- Modulaarsus (modularity) 1)Programm jagatakse iseseisvateks tükkideks
- Polümorfism (polymorphism) 1)Alamklass saab meetodeid üle kirjutada
- Pärimine (inheritance) 1)Alamklass pärib omadused ja meetodid
Sõne:
- Sõne on objekt
- Kui loote uue sõne, siis tegelikult luuakse uus objekt, mille tüüp on str.
- Sõne ‘funktsioone’ kutsutakse meetoditeks 1)Ehk siis klassis kirjeldatud funktsioonid on meetodid.
- Loome sõne s ja küsime selle tüübi. Tüüp on str klass.
- ID tagastab objekti kohta unikaalse arvu. Kui id on erinev, siis on ka objekt erinev (st mälus erinevas kohas).
- Replace teeb uue sõne, seda näeme ka id-ga.
Replace
on sõne meetod ehk funktsioon, mida saab välja kutsuda objektil
List:
- Listi muutes
id
ei muutu c
jab
viitavad samale listile
Klass kui andmetüüp
- Iga klass on andmetüüp
- Näiteks on Pythonis klass
str
- Iga konkreetne sõne, näiteks
"tere"
, on selle klassi objekt (ehk isend) - Ühest klassist saab luua lõpmata palju objekte
- Objekti kohta öeldakse ka isend ja instants
- Üldiselt mõeldakse “objekt”, “isend”, “instants” terminitega samu asju
- Erinevates allikates võivad neil erinevused olla