Python on olio-ohjelmointikieli. Se tarkoittaa, että ohjelmoija voi tehdä luokkia, mihin voidaan tallentaa tietoja ja luokkaan voidaan kirjoittaa metodeja tietojen käsittelyyn.
Tehdään luokka auto, mihin on tallennettu auton merkki:
class auto: merkki = "Lada"
Tieto merkistä saadaan esille:
autoni = auto.merkki
class auto: merkki = "Lada" autoni = auto.merkki print(autoni)
Sisällytetään edellisen esimerkin luokkaan metodi, mikä tulostaa auton merkin:
class auto: merkki = "Lada" def tulostaAuto(): print(auto.merkki) auto.tulostaAuto() #kutsutaan luokan auto metodia
Tehdään edellisestä luokasta auto yleiskäyttöisempi. Haluamme käsitellä monta autoa ja niiden merkit.
Tähän tarvitsemme __init__ -funktion ja self -käsitteen, joiden avulla teemme auto-luokasta datarakenteen. Datarakenteen avulla voimme tehdä kopiota luokasta haluamillemme automerkeille, ts. olioita.
__init__ -funktio määrittelee olion luonnin aikana tapahtuvat määrittelyt.
self -käsitteellä määritellään juuri tämän olion tiedot.
#luokka autoon on määritelty
# __init__ -funktio ja metodi tulostaAuto
############ luokka alkaa ##############
class auto:
def __init__(self, merkki): #saa parametriksi olion itsensä ja merkin
self.merkki = merkki #tallentaa merkin olioon itseensä
def tulostaAuto(self): #saa parametriksi olion itsensä
print(self.merkki) #tulostaa olioon tallennetun merkin
############ luokka loppuu ##############
pentinAuto = auto("Lada") #luodaan olio pentinAuto luokasta auto,
#mihin tulee merkiksi "Lada"
juhonAuto = auto("Mersu") #luodaan olio juhonAuto luokasta auto,
#mihin tulee merkiksi "Mersu"
juhonAuto.tulostaAuto() #kutsuttaessa metodia tulostaAuto
pentinAuto.tulostaAuto() #self parametriä ei tarvita
#voisi myös tulostaa
print(pentinAuto.merkki)
Tee auto-luokkaan mahdollisuus tallentaa tiedot auton ominaisuuksista. Ominaisuuksia pitää olla ainakin hinta, väri ja omistaja.
Tee auto-luokkaan myös metodit ominaisuuksien hakemiseen.
Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.
Tee luokka opiskeluni, mikä saa alustuksena oppiaineiden nimet ja mahdolliset arvosanat.
Luokassa pitää olla metodit: syötä/muuta oppiaineen arvosana ja laske aineiden arvosanojen keskiarvo.
Kokeile luokan toimivuutta!
Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.