Superklass (programmering)

I programmering är en superklass eller överordnad klass en klass som andra klasser härrör från. Klasser som härrör från en superklass kallas barnklasser , härledda klasser eller underklasser .

En superklass låter dig skapa ett generiskt gränssnitt som kapslar in anpassad funktionalitet genom att använda virtuella funktioner .

Superklassmekanismen används ofta i objektorienterad programmering på grund av dess återanvändbarhet , vilket uppnås genom vanliga funktioner inkapslade i modulära objekt.

Programmeringsspråk kan stödja både abstrakta och konkreta superklasser.

Basklass

En basklass  är en klass som inte har någon superklass och därför ligger längst ner i underklassträdet. De flesta objektorienterade programmeringssystem tillhandahåller ett bibliotek med klasser från vilka utvecklaren bygger sina egna. Dessa bibliotek tillhandahåller ofta en eller en ganska begränsad uppsättning basklasser som utgör kärnan i biblioteket.

I fallet när ett språk eller bibliotek bara har en basklass, kallas det den högsta typen .

I UML kan en klass ha sin egen uppsättning rotegenskaper för att indikera att det är basklassen.

I C++-stilen (som används i C# och andra språk) används termen "basklass" istället för termen "superklass".

Exempel

Java

I programmeringsspråket Java kallas metoden för att bestämma superklassen för en klass getSuperclass. Denna metod returnerar ett Class-objekt som representerar superklassen för den givna klassen, eller returnerar null om klassen inte har några superklasser. För att bestämma alla föräldrar till klassen getSuperclassanropas metoden upprepade gånger tills den returnerar null.

Följande exempel söker upp överordnade klassnamn för klassen Button med metoden getSuperclass:

importera java.lang.reflect.* ; importera java.awt.* ; klass SampleSuper { public static void main ( String [] args ) { Button b = new Button (); printSuperklasser ( b ); } static void printSuperclasses ( Object o ) { Class subclass = o . getclass (); Klass superklass = underklass . getSuperclass (); while ( superklass != null ) { String className = superclass . getName (); System . ut . println ( klassnamn ); underklass = superklass ; superklass = underklass . getSuperclass (); } } }

Programmet returnerar:

java.awt.Component java.lang.Object

Se även

Anteckningar