Hvad er en abstrakt klasse?

I objektorienteret programmering giver en abstrakt klasse en baseklasse, der kan bruges til at give andre klasser delvis implementering og interface. De er ufuldstændige af sig selv og bruges i arvssituationer i mange programmeringssprog som Java, C ++ og C #. Deres brug som en baseklasse betyder, at de ofte omtales som en abstrakt baseklasse (ABC).

En integreret del af objektorienteret programmering, dataabstraktion fjerner de unødvendige detaljer ved et objekt. I det væsentlige koger det objektet ned til dets vigtigste identifikationsegenskaber. Disse grundlæggende egenskaber giver en plan, der kan bruges til at oprette andre objekter med de samme egenskaber, som kun adskiller sig i detaljerne.

Denne plan er defineret som en klasse. Klasser bruges til at indkapsle koden, hvilket gør det lettere for programmereren, fordi han kan referere til specifikke fælles rutiner i stedet for at skrive rutinerne igen og igen. Programmerere opretter underordnede objekter fra klasser, og disse objekter arver funktionerne og metoderne i forældreklassen.

Formålet med en abstrakt klasse er at være den ramme, som andre klasser bygger på. Objekter kan ikke oprettes direkte fra en abstrakt klasse, kun fra underklasserne, der tilhører den abstrakte klasse. For at et objekt skal arve fra en abstrakt klasse, skal der oprettes en underklasse. Objekter af en oprettet underklasse af en abstrakt klasse arver egenskaber ved den abstrakte klasse.

Hver klasse modellerer et koncept, og abstrakte klasser har en tendens til at modellere mere abstrakte begreber ved hjælp af abstrakte metoder. Abstrakte metoder er subroutiner i en abstrakt klasse, der ikke indeholder nogen implementering. Disse underprogrammer bruges som pladsholdere, der skal overskrives af en underklasse eller et objekt designet ud fra den klasse, der indeholder selve den abstrakte metode.

Der er forskellige metoder til at skabe en abstrakt klasse. I C ++ oprettes for eksempel en abstrakt klasse ved at udvikle en klasse med mindst en abstrakt metode eller ren virtuel funktion. Java bruger et nøgleord "abstrakt" til at betegne en abstrakt klasse. De er dog ikke defineret i programmeringssprog, der ikke understøtter ideen om arv.

Arv er processen med at oprette nye objekter fra klasser, hvor de nye objekter kan bruge de funktioner og metoder, der er defineret i deres overordnede klasser uden behov for at ændre programmet. Derfor er en abstrakt klasse nyttig. Børneklasser og underordnede genstande fra disse underklasser arver egenskaber fra den overordnede abstrakte klasse. Abstrakte klasser betragtes som superklasser og er øverst i klassestrukturhierarkiet, så de har intet punkt i et sprog, der ikke understøtter arv.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?