next up previous contents
Next: Luokat Up: Luokat ja Oliot Previous: Luokat ja Oliot   Sisältö

Mitä oliot ovat?

Tähän asti olemme ohjelmissa käsitelleet vain yksinkertaisia muuttujia, jotka voivat saada arvokseen esimerkiksi kokonaislukuja ja desimaalilukuja. Monesti käytännön sovelluksissa joudutaan kuitenkin käsittelemään selvästi monimutkaisempia kokonaisuuksia.

Ajatellaan esimerkiksi ilmoittautumisjärjestelmää, jonka avulla opiskelijat voivat ilmoittautua korkeakoulun eri kursseille. Järjestelmässä on tiedot siitä, mitä kursseja korkeakoululla järjestetään, ketkä opiskelijat ovat kirjoilla korkeakoulussa ja ketkä ovat ilmoittautuneet millekin kurssille.

Jokaista opiskelijasta on järjestelmään tallennettu ainakin nimi, opiskelijanumero, koulutusohjelma ja tieto siitä, mille kursseille tämä opiskelija on ilmoittautunut. Vastaavasti jokaisesta kurssista on tallennettu ainakin kurssin koodi, kurssin nimi, opintoviikkomäärä ja kurssille ilmoittautuneet opiskelijat. Kuvassa 2.1 on esimerkki muutamasta opiskelijasta ja kurssista.

Kuva: Esimerkkejä opiskelijoista ja kursseista.
[scale=0.6]kuvat/Opiskelija.eps

Kun kirjoitamme Java-ohjelmaa ilmoittautumisjärjestelmää varten, haluamme käsitellä jokaista opiskelijaa ja kurssia kokonaisuutena. Opiskelijoiden hallinnointi menisi hyvin monimutkaiseksi, jos meillä olisi yksi muuttuja opiskelijan nimeä, toinen opiskelijanumeroa, kolmas koulutusohjelmaa varten ja niin edelleen, eikä näillä muuttujilla olisi mitään yhteyttä toisiinsa. Tämän sijaan Java-ohjelmissa jokaisesta opiskelijaa kohti luodaan opiskelijaolio, jolla on oma nimi, opiskelijanumero, koulutusohjelma sekä lista niistä kursseista, joille tämä opiskelija on ilmoittautunut. Kuvassa 2.1 on siis kolme opiskelijaoliota, joista yhden nimi on Teemu Teekkari, toisen Oili Opiskelija ja kolmannen Iiro Ikiteekkari. Vastaavasti jokaista kurssia varten luodaan kurssiolio, jolla on oma kurssikoodi, nimi, opintoviikkomäärä ja lista kurssille ilmoittautuneista opiskelijoista.

Edellä on tullut esiin jo yksi olioiden keskeinen piirre: olioilla on ominaisuuksia. Esimerkiksi jokaisella opiskelijaoliolla nimi, opiskelijanumero, koulutusohjelma ja lista kursseista, joille tämä opiskelija on ilmoittautunut. Toinen olio-ohjelmoinnin keskeinen piirre on se, että olioille voi lähettää viestejä, jotka saavat olion suorittamaan jonkun toiminnon. Esimerkiksi opiskelijaoliolle voi lähettää viestin ilmoittaudu, joka saa aikaan sen, että opiskelijaolio yrittää ilmoittautua halutulle kurssille. Vastaavasti opiskelijaolio voi lähettää kurssioliolle viestin lisaaIlmoittautuminen, joka saa kurssiolion lisäämään viestin lähettäneen opiskelijaolion omaan opiskelijalistaansa.


next up previous contents
Next: Luokat Up: Luokat ja Oliot Previous: Luokat ja Oliot   Sisältö
Kerttu Pollari-Malmi 2003-03-23