Modulaarisuus: Rajapinnat

Osaamistavoitteet

Tämän viikon tavoitteena on perehtyä luokkahierarkiaan kokonaisuutena. Opit kuvaamaan periytymishierarkioita ja selittämään rajapinnan käsitteen osana hierarkiaa. Opit ymmärtämään, miten abstrakti kantaluokka ja rajapintaluokka eroavat toisistaan ja mikä niiden rooli on oliosuunnittelussa. Osaat myös käyttää rajapintoja ja abstrakteja kantaluokkia osana Java-ohjelmaa. Viikon aikana tutustut myös moniperiytymiseen ja osaat selittää sen perusidean.

Polymorfismi mahdollistaa aliluokan olioiden käsittelemisen kantaluokkansa olioina. Tästä syntyy tilanteita, joissa yhteiselle kantaluokalle ei ole mielekästä tehdä täyttä toteutusta: siitä ei koskaan luoda ohjelmassa olioita. Tällaiset luokat on tarkoitettu vain periytymishierarkiaa varten: ne toimivat vain kantaluokkina konkreettisille luokille. Näitä luokkia kutsutaan abstrakteiksi kantaluokiksi.