Mikä on perusluokka?

Perusluokka, jota kutsutaan myös superluokiksi, on tietokoneobjekti, joka toimii perustana yhdelle tai useammalle johdetulle luokalle. Mikä tahansa tietokoneen kieli, joka pystyy perimään, voi luoda perusluokan. Tarkasta tyypistä riippuen perusluokat voivat tai eivät välttämättä pysty alustamaan – antamaan objektille alkuarvoa – yksinään, mutta ne antavat aina jonkinlaisen yhteisen toiminnallisuuden mille tahansa luokalle, joka perii heiltä. Perusluokkien johdettujen luokkien tai alaluokkien lukumäärää ei koskaan ole rajoitettu, mutta tietokoneen kielestä riippuen voi olla rajoitus johdettujen luokkien perusluokkien lukumäärälle. Kielten, joiden avulla johdetulla luokalla voi olla vain yksi perusta, sanotaan pakottavan yhden perinnön, kun taas kielten, jotka sallivat johdetun luokan olla useita perusluokkia, käytetään useita perintöjä.

Betonin perusluokat voidaan alustaa yksinään; eli perusluokan tyyppinen objekti voidaan tehdä. Jos luokkaesimerkki on perusta johdetulle luokalle Esimerkki2, voidaan molemmat tehdä tyypin Esimerkki2 objekti ja Esimerkin tyyppinen objekti. Objektityyppi Esimerkki voidaan tehdä vain nimenomaisesti kutsumalla kyseistä objektityyppiä; esimerkin 2 objektin luominen ei tee esimerkin tyypin toissijaista objektia. Kussakin tapauksessa luotava objektityyppi rakentaa vain itsestään ilmentymän.

Sitä vastoin abstrakteja perusluokkia ei voida alustaa yksinään, mikä tarkoittaa, että perusluokan objektia ei voida tehdä itse. Jos luokka Esimerkki3 on abstrakti perusta johdetulle luokalle Esimerkki 4, voidaan tehdä vain esimerkin 4 tyyppinen objekti. Vaikka tyyppi Esimerkki 4 sisältää tietoja tyypistä Esimerkki 3, yritetään tehdä objekti, joka on yksinomaan tyyppiä Esimerkki 3, seurauksena on virhe. Tämä toiminto voi olla hyödyllinen ajoittain, varsinkin jos luokka Esimerkki 3 sisältää yksityisiä tietoja, jotka on säädettävä tiukasti.

Riippuen kielestä, jolla se esiintyy, perusluokalla voi olla hieman erilainen käyttäytyminen ja selvästi eri nimet. Java®: ssa perusluokkiin viitataan aina tällä nimellä, kun taas C ++: ssa rakenteesta riippuen niitä voidaan kutsua virtuaaliluokiksi. Nimen ja toiminnallisuuden erot, vaikka ne ovat merkittäviä käytettävien tietokoneiden kielten kannalta, eivät merkitse suuria eroja luokkien periaatteessa. Perusluokkaa käytetään aina koteloimaan sen johdettujen luokkien yhteiset toiminnot ja tiedot kielestä riippumatta.