Skip to main content

Vad är basklassen?

En basklass, även kallad en superklass, är ett datorobjekt som fungerar som en grund för en eller flera härledda klasser.Alla datorspråk som kan arv kan skapa en basklass.Beroende på deras exakta typ kan basklasser kanske inte kan initialisering mdash;tilldela ett initialvärde till ett objekt mdash;På egen hand, men de ger alltid någon form av gemensam funktionalitet till alla klasser som ärver från dem.Det finns aldrig en gräns för antalet härledda klasser, eller underklasser, som basklasser kan ha, men det kan finnas en gräns, beroende på datorspråket, till antalet basklasser som en härledd klass kan ha.Språk som tillåter en härledd klass att endast ha en bas sägs att upprätthålla enstaka arv, medan de som tillåter en härledd klass att ha flera basklasser använder flera arv.

Betongbasklasser kan initialiseras på egen hand;Det vill säga ett objekt av bastypen kan göras.Om ett klassexempel är en bas för ett härledt klass Exempel2, kan ett objekt med typexempel2 och ett objekt av typexempel båda göras.Ett objekt med typexempel kan endast göras genom att uttryckligen kräva den objekttypen;Att skapa ett objekt med typ Exempel2 gör inte ett sekundärt objekt av typexempel.I båda fallen bygger objekttypen som skapas endast en instans av sig själv.

Abstrakta basklasser kan däremot inte initialiseras på egen hand, vilket innebär att ett objekt för basklassen inte kan göras av sig själv.Om ett klassexempel3 är en abstrakt bas för ett härledt klass Exempel4, kan endast ett objekt med typexempel4 göras.Även om Type Exempel4 innehåller data från Type Exempel3, kommer att försöka göra ett objekt enbart av typ Exempel3 att resultera i ett fel.Denna funktionalitet kan vara användbar ibland, särskilt om klassexempel3 innehåller privata data som bör regleras tätt.

Beroende på det språk som det visas, kan en basklass ha något olika beteenden och markant olika namn.I Java , basklasser hänvisas alltid till med det namnet, medan de är i C ++, beroende på deras struktur, kan de kallas virtuella klasser.Skillnaderna i namn och funktionalitet, även om de är betydelsefulla när det gäller datorspråk som används, innebär inte större skillnader i principen bakom klasserna.En basklass används alltid för att kapsla in gemensam funktionalitet och data för dess härledda klasser, oavsett språk.