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.