Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

9.3.5 Polymorfismi, eli monimuotoisuus

Edellisestä esimerkistä ei oikeastaan paljastunut vielä mitään, mikä olisi puoltanut perintää. Korkeintaan snobbailu uudella syntaksilla. Mutta tosiasiassa pääsemme tästä kiinni olio-ohjelmoinnin tärkeimpään ominaisuuteen, ominaisuuteen jota on vaikea saavuttaa perinteisellä ohjelmoinnilla: polymorfismi ( polymorphism) eli monimuotoisuus.

Lisätäänpä vielä testiohjelman loppuun:

	    Aika5 a1 = new Aika5();  a1.aseta(12,15);
	    AikaSek8 a4 = new AikaSek8(14,55,45); a4.tulosta();
	...
	    Aika5 aika = a1;  aika.tulosta();  // Esimerkki polymorfismista
	    aika = a4;        aika.tulosta();

Tulostus:

	12:15 
	14:59:15

Mistä tässä oli kyse? Viite aika on monimuotoinen, eli sama osoitin voi osoittaa useaan eri tyyppiseen luokkaan. Tämä on mahdollista, jos luokat ovat samasta perimähierarkiasta kuten tässä tapauksessa ja viite on tyypiltään näiden yhteisen kantaluokan olion viite.


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys