Mikä on perintö?

Objektiorientoidussa ohjelmoinnissa perintö tarkoittaa objektin kykyä ottaa yksi tai useampi ominaisuus muista objektiluokista. Perinteiset ominaispiirteet ovat yleensä esimerkkimuuttujia tai jäsenfunktioita. Näitä ominaisuuksia perittävä objekti tunnetaan alaluokana ja kohde, jonka ne perivät niistä, tunnetaan superklassina. Yksityiskohdat siitä, miten perintö toteutetaan, vaihtelevat eri kielillä, mutta ensimmäinen kieli sen toteuttamiseksi oli Simula vuonna 1967.

Mikä on perintö?

Perimisen tarkoitus on yhdistää ja käyttää uudelleen koodia. Esimerkiksi, jos esineet ovat auton, kuorma-auton ja moottoripyörän alaluokkia, kaikki niihin soveltuva koodi voidaan yhdistää ajoneuvoluokkaan. Alaluokat perivät tämän koodin ja siihen mahdollisesti tehtävät muutokset automaattisesti.

Viisi perintötyyppiä

  • Yksittäinen perintö - Alaluokat perivät ominaisuuksia yhdestä yläluokasta.
  • Useampi perintö - Ala-luokassa voi olla useampi kuin yksi luokka ja periä ominaisuuksia kaikista niistä.
  • Monitasoinen perintö - Alaluokalla voi olla omat alaluokat. Toisin sanoen superluokan alaluokka voi itsessään olla yliluokka muille alaluokille.
  • Hierarkkinen perintö - Perusluokka toimii alaluokkina alaryhmien useille tasoille.
  • Hybridiperintö - Yhden tai useamman muun perintötyypin yhdistelmä.

Esimerkiksi objektikohtaiset, ohjelmointitermit