Luokka/olio

Sisältää
tehtäviä!

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:

Tieto merkistä saadaan esille:


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


Olion luominen

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)

Tehtävä 1

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.

Tehtävä 2

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.