Superluokka (ohjelmointi)

Ohjelmoinnissa superluokka tai emoluokka on luokka , josta johdetaan muut luokat . Superluokista johdettuja luokkia kutsutaan lapsiluokiksi , johdetuiksi luokiksi tai alaluokiksi .

Superluokan avulla voit luoda yleisen käyttöliittymän, joka kapseloi mukautettuja toimintoja käyttämällä virtuaalisia toimintoja .

Superclass-mekanismia käytetään laajasti olio-ohjelmoinnissa sen uudelleenkäytettävyyden vuoksi, mikä saavutetaan modulaarisiin objekteihin kapseloitujen yhteisten ominaisuuksien avulla.

Ohjelmointikielet voivat tukea sekä abstrakteja että konkreettisia superluokkia.

Perusluokka

Perusluokka  on luokka, jolla ei ole yläluokkaa ja joka on siksi alaluokkapuun alaosassa. Useimmat olio-ohjelmointijärjestelmät tarjoavat kirjaston luokkia, joista kehittäjä rakentaa oman. Nämä kirjastot tarjoavat usein yhden tai melko rajoitetun joukon perusluokkia, jotka muodostavat kirjaston ytimen.

Siinä tapauksessa, että kielellä tai kirjastolla on vain yksi perusluokka, sitä kutsutaan korkeimmaksi tyypiksi .

UML : ssä luokalla voi olla oma joukko juuriominaisuuksia , jotka osoittavat, että se on perusluokka.

C++-tyylissä (jota käytetään C#:ssa ja muissa kielissä) termiä "perusluokka" käytetään termin "superclass" sijaan.

Esimerkkejä

Java

Java - ohjelmointikielessä menetelmää kutsutaan määrittämään luokan superluokka getSuperclass. Tämä menetelmä palauttaa Class-objektin, joka edustaa annetun luokan superluokkaa, tai palauttaa nollan, jos luokalla ei ole yliluokkia. Luokan kaikkien vanhempien määrittämiseksi menetelmää getSuperclasskutsutaan toistuvasti, kunnes se palauttaa nollan.

Seuraava esimerkki etsii Button-luokan yläluokan nimiä menetelmällä getSuperclass:

tuonti java.lang.reflect.* ; tuonti java.awt.* ; class SampleSuper { public static void main ( String [] args ) { Button b = new Button (); printSuperclasses ( b ); } static void printSuperclasses ( Object o ) { Luokan alaluokka = o . getclass (); Luokan superluokka = alaluokka . getSuperclass (); while ( superluokka != null ) { Merkkijono luokanNimi = superluokka . getName (); Järjestelmä . ulos . println ( luokanNimi ); alaluokka = superluokka ; superluokka = alaluokka . getSuperclass (); } } }

Ohjelma palauttaa:

java.awt.Component java.lang.Object

Katso myös

Muistiinpanot