Wat is een abstracte klasse?

In objectgeoriënteerd programmeren biedt een abstracte klasse een basisklasse die kan worden gebruikt om andere klassen te voorzien van gedeeltelijke implementatie en interface. Ze zijn op zichzelf onvolledig en worden in erfsituaties gebruikt in veel programmeertalen zoals Java, C ++ en C #. Hun gebruik als een basisklasse betekent dat ze vaak worden aangeduid als een abstracte basisklasse (ABC).

Data abstractie is een integraal onderdeel van objectgeoriënteerd programmeren en verwijdert onnodige details van een object. In wezen komt het neer op zijn belangrijkste identificerende kenmerken. Deze basiskenmerken bieden een blauwdruk die kan worden gebruikt om andere objecten met dezelfde eigenschappen te maken, alleen verschillend in de details.

Deze blauwdruk is gedefinieerd als een klasse. Klassen worden gebruikt om de code in te kapselen, wat het de programmeur gemakkelijker maakt, omdat hij naar specifieke gemeenschappelijke routines kan verwijzen in plaats van de routines steeds opnieuw te schrijven. Programmeurs maken onderliggende objecten van klassen en deze objecten nemen de functies en methoden binnen de bovenliggende klasse over.

Het doel van een abstracte klasse is het raamwerk te zijn waarop andere klassen zijn gebouwd. Objecten kunnen niet rechtstreeks vanuit een abstracte klasse worden gemaakt, alleen vanuit de subklassen die bij de abstracte klasse horen. Om een ​​object van een abstracte klasse te erven, moet een subklasse worden gemaakt. Objecten van een gemaakte subklasse van een abstracte klasse nemen de eigenschappen van die abstracte klasse over.

Elke klasse modelleert een concept en abstracte klassen modelleren meer abstracte concepten met behulp van abstracte methoden. Abstracte methoden zijn subroutines binnen een abstracte klasse die geen implementatie bevatten. Deze subroutines worden gebruikt als tijdelijke aanduidingen die moeten worden overschreven door een subklasse of een object dat is ontworpen op basis van de klasse die de abstracte methode zelf bevat.

Er zijn verschillende methoden om een ​​abstracte klasse te maken. In C ++ wordt bijvoorbeeld een abstracte klasse gemaakt door een klasse te ontwikkelen met ten minste één abstracte methode of pure virtuele functie. Java gebruikt een trefwoord, 'abstract', om een ​​abstracte klasse aan te duiden. Ze zijn echter niet gedefinieerd in programmeertalen die het idee van overerving niet ondersteunen.

Overerving is het proces van het maken van nieuwe objecten uit klassen waarbij de nieuwe objecten de functies en methoden kunnen gebruiken die zijn gedefinieerd in hun bovenliggende klassen zonder dat het programma opnieuw hoeft te worden aangepast. Daarom is een abstracte klasse nuttig. Onderliggende klassen en onderliggende objecten van die subklassen nemen eigenschappen over van de bovenliggende abstracte klasse. Abstracte klassen worden beschouwd als superklassen en staan ​​bovenaan de hiërarchie van de klassenstructuur, dus ze hebben geen zin in een taal die geen overerving ondersteunt.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?