Skip to main content

Hva er baseklasse?

En baseklasse, også kalt en superklasse, er et datamaskinobjekt som fungerer som et grunnlag for en eller flere avledede klasser.Ethvert dataspråk som er i stand til arv, kan skape en baseklasse.Avhengig av deres nøyaktige type, kan baseklasser kanskje ikke være i stand til initialisering og mdash;tilordne en innledende verdi til et objekt mdash;På egen hånd, men de gir alltid en slags felles funksjonalitet til enhver klasse som arver fra dem.Det er aldri en grense for antall avledede klasser, eller underklasser, at baseklasser kan ha, men det kan være en grense, avhengig av dataspråk, til antall baseklasser en avledet klasse kan ha.Språk som lar en avledet klasse bare ha en base sies å håndheve enkeltarv, mens de som lar en avledet klasse få flere baseklasser til å bruke flere arv.

Betongbaseklasser kan initialiseres på egen hånd;Det vil si at et objekt av baseklassetypen kan lages.Hvis et klasseeksempel er en base for et avledet klasseeksempel2, kan et objekt av type eksempel2 og et objekt av typeeksempel begge lages.Et objekt av typeeksempel kan bare lages ved eksplisitt å ringe etter den objekttypen;Å opprette et objekt av typeeksempel2 gjør ikke et sekundært objekt av typeeksempel.I begge tilfeller bygger objekttypen som opprettes en forekomst av seg selv.

abstrakte baseklasser, derimot, kan ikke initialiseres på egen hånd, noe som betyr at et objekt i baseklassen ikke kan lages av seg selv.Hvis et klasseeksempel3 er en abstrakt base for et avledet klasseeksempel4, er det bare et objekt av type eksempel4 som kan gjøres.Selv om Type Eksempel4 inkluderer data fra typen Eksempel3, vil det å prøve å lage et objekt utelukkende av type eksempel3 resultere i en feil.Denne funksjonaliteten kan til tider være nyttig, spesielt hvis klasseeksempel3 inneholder private data som bør reguleres tett.

Avhengig av språket det vises, kan en baseklasse ha litt annen atferd og markant forskjellige navn.I Java , blir baseklasser alltid referert til med det navnet, mens de i C ++, avhengig av strukturen deres, kan kalles virtuelle klasser.Forskjellene i navn og funksjonalitet, selv om de er viktige når det gjelder dataspråk som brukes, innebærer ikke store forskjeller i prinsippet bak klassene.En baseklasse brukes alltid til å innkapsle felles funksjonalitet og data for sine avledede klasser, uavhengig av språket.