Vad är basklass?

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 arva kan skapa en basklass. Beroende på deras exakta typ kan basklasser kanske eller inte kunna initialisera - tilldela ett initialvärde till ett objekt - på egen hand, men de ger alltid någon form av gemensam funktionalitet till någon klass 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 att en härledd klass endast har en bas sägs säkerställa en enkel 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 basklasstypen kan göras. Om ett klassexempel är en bas för ett härledt klassexempel 2 kan ett objekt av typ exempel 2 och ett objekt av typexempel båda göras. Ett objekt av typ Exempel kan endast göras genom att uttryckligen kräva den objekttypen; att skapa ett objekt av typ Exempel 2 gör inte ett sekundärt objekt av typ Exempel. I båda fallen bygger den objekttyp 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 av basklassen inte kan göras av sig själv. Om ett klassexempel 3 är en abstrakt bas för ett härledt klassexempel 4, kan endast ett objekt av typ exempel4 göras. Även om typ Exempel 4 inkluderar data från typen Exempel 3 kommer försök att göra ett objekt enbart av typ Exempel 3 resultera i ett fel. Denna funktionalitet kan vara användbar ibland, särskilt om klassexempel 3 innehåller privata data som bör regleras tätt.

Beroende på vilket språk det visas kan en basklass ha något olika beteenden och markant olika namn. I Java® hänvisas alltid till basklasser med det namnet, medan de i C ++, beroende på deras struktur, kan kallas virtuella klasser. Skillnaderna i namn och funktionalitet, även om de är betydande när det gäller datorspråk som används, innebär inte stora 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.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?