Skip to main content

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 initialisering og mdash;tildeling af en startværdi til et objekt mdash;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 en afledt klasse at have flere baseklasser til at bruge flere arv.

Betonbasisklasser kan initialiseres på egen hånd;Det vil sige, at der kan foretages et objekt med baseklassetypen.Hvis et klasseeksempel er en base for et afledt klasseeksempel2, kan et objekt med type eksempel2 og et objekt med typeeksempel 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 objekttypen kun en forekomst af sig selv.

Abstrakte baseklasser, derimod kan ikke initialiseres på egen hånd, hvilket betyder, at et objekt for basisklassen ikke kan laves 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 klasseeksempel3 indeholder private data, der skal reguleres tæt.

Afhængigt af det sprog, hvori det ser ud, kan en baseklasse have lidt anden adfærd og markant forskellige navne.I Java , basisklasser henvises altid til 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.