...
Yksi tapa hahmottaa polymorfismi on ajatella olioita substantiiveina. Esimerkiksi esineitä, jotka ovat pöydällä: kahvikuppi, lehti, lautanen. Kaikkiin näihin voidaan soveltaa verbejä, kuten kaataa kuppi, lukea lehti, hajoittaa lautanen, jne. On myös olemassa verbejä, jotka soveltuvat lähes kaikkiin substantiiveihin, kuten ha, aseta, siirrä. Polymorfismilla tarkoitetaan 'verbejä' eli funktioita, jotka tekevät jotain 'substantiiveille', eli erilaisille objekteille. Tämä onnistuu ohjelmointikielissä perinnän kautta, olioita voidaan käsitellä tietämättä eksaktia luokkaa, josta ne on luotu, kunhan ne kaikki omaavat saman kantaluokan.
Esimerkki 1: Olioden käsittely kantaluokan kautta.
Code Block |
---|
#include <stdio.h> CElain: // Kantaluokka class CElain { public: virtual \~CElain() {} // Toteutus tulee olla (tyhjäkin käy). virtual void Aantele() = 0; // Aito virtuaalifunktio. }; |
...