CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, Luento-opetus, 22.4.2024-28.6.2024
This course space end date is set to 28.06.2024 Search Courses: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Completion requirements
Kenttien luominen käynnistysmetodissa
Luokat voivat sisältää myös kenttiä, joita ei anneta käynnistysmetodin parametrina. On kuitenkin hyvä ohjelmointitapa alustaa myös nämä kentät käynnistysmetodissa. Tarkastellaan luokkaa Laboratorio, jossa kaksi kenttää annetaan käynnistysmetodin parametreina ja yksi kenttä alustetaan käynnistysmetodissa:
class Laboratorio: def __init__(self, nimi, kapasiteetti): # nimi: laboratorion nimi merkkijonona # kapasiteetti: laboratorioon mahtuva opiskelijamäärä (kokonaisluku) self.nimi = nimi self.kapasiteetti = kapasiteetti # Luodaan myös kenttä "opiskelijoita" (kokonaisluku), jonka arvo on alussa 0 self.opiskelijoita = 0 def lisaa_opiskelija(self): # Mahtuuko labraan vielä? if self.opiskelijoita < self.kapasiteetti: # Kasvatetaan"opiskelijoita"-kenttää yhdellä self.opiskelijoita += 1 print(f"Opiskelijoita nyt: {self.opiskelijoita}") else: print("Labra on täynnä!")
Kun luokan toteutusta testataan näin:
labra1 = Laboratorio("SEM", 3) for i in range(4): labra1.lisaa_opiskelija()
saadaan tulokseksi
Opiskelijoita nyt: 1 Opiskelijoita nyt: 2 Opiskelijoita nyt: 3 Labra on täynnä!
Jos haluat päästää opiskelijat pois labrasta, voit lisätä luokan toteutukseen metodin vapauta_opiskelija, joka vähentää labrasta yhden opiskelijan.