Hvad er baseklasse?
En baseklasse, også kaldet en superklasse, er et computerobjekt, der fungerer som et fundament for en eller flere afledte klasser. Ethvert computersprog, der er i stand til arv, kan skabe en baseklasse. Afhængig af deres nøjagtige type, kan baseklasser muligvis ikke være i stand til at initialisering - tildele en startværdi til et objekt - på egen hånd, men de giver altid en slags fælles funktionalitet til enhver klasse, der arver fra dem. Der er aldrig en grænse for antallet af afledte klasser eller underklasser, som baseklasser kan have, men der kan være en grænse, afhængigt af computersproget, til antallet af baseklasser, som en afledt klasse kan have. Sprog, der tillader, at en afledt klasse kun har en base siges at håndhæve en enkelt arv, mens de, der tillader, at en afledt klasse har flere baseklasser til at bruge flere arv.
konkrete baseklasser kan initialiseres på egen hånd; Det vil sige, at der kan foretages et objekt med baseklassetypen. Hvis et klasseeksempeler en base for en afledt klasseeksempel2, et objekt med type eksempel2 og et objekt med typeeksempel kan begge foretages. Et objekt med typeeksempel kan kun foretages ved eksplicit at kræve den objekttype; Oprettelse af et objekt med typeeksempel2 gør ikke et sekundært objekt af typeeksempel. I begge tilfælde bygger den objekttype, der oprettes, kun en forekomst af sig selv.
Abstrakte baseklasser kan derimod ikke initialiseres på egen hånd, hvilket betyder, at et objekt i basisklassen ikke kan fremstilles af sig selv. Hvis et klasseeksempel3 er en abstrakt base for et afledt klasseeksempel 4, kan der kun foretages et objekt af typeeksempel4. Selvom Type Eksempel 4 inkluderer data fra Type Eksempel3, vil forsøg på at foretage et objekt udelukkende af type eksempel 3 resultere i en fejl. Denne funktionalitet kan til tider være nyttig, især hvis klasseeksempel 3 indeholder private data, der skal reguleres tæt.
DEPENding på det sprog, hvor det ser ud, kan en baseklasse have lidt anden adfærd og markant forskellige navne. I Java® henvises til baseklasser altid med dette navn, mens de i C ++, afhængigt af deres struktur, kan kaldes virtuelle klasser. Forskellene i navn og funktionalitet, selvom det er betydningsfuldt med hensyn til de computersprog, der bruges, indebærer ikke store forskelle i princippet bag klasserne. En baseklasse bruges altid til at indkapsle fælles funktionalitet og data for dens afledte klasser, uanset sproget.