Wat is een abstracte klasse?
In objectgeoriënteerde programmering biedt een abstracte klasse een basisklasse die kan worden gebruikt om andere klassen gedeeltelijke implementatie en interface te bieden. Ze zijn op zichzelf onvolledig en worden gebruikt in erfenissituaties in vele programmeertalen zoals Java, C ++ en C#. Hun gebruik als basisklasse betekent dat ze vaak een abstracte basisklasse (ABC) worden genoemd.
Een integraal onderdeel van objectgeoriënteerde programmering, gegevensabstractie verwijdert de onnodige details van een object. In wezen kookt het het object neer op de belangrijkste identificerende kenmerken. Deze basiskenmerken bieden een blauwdruk die kan worden gebruikt om andere objecten met dezelfde eigenschappen te maken, die alleen verschillen in de details.
Deze blauwdruk wordt gedefinieerd als een klasse. Klassen worden gebruikt om de code in te kapselen, waardoor het voor de programmeur gemakkelijker wordt, 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 OBjects erven de functies en methoden in de bovenliggende klasse.
Het doel van een abstracte klasse is om het raamwerk te zijn waarop andere klassen worden gebouwd. Objecten kunnen niet rechtstreeks worden gemaakt uit een abstracte klasse, alleen van de subklassen die tot de abstracte klasse behoren. Om een object van een abstracte klasse te erven, moet een subklasse worden gemaakt. Objecten van een gemaakte subklasse van een abstracte klasse erven eigenschappen van die abstracte klasse.
Elke klasse modelleert een concept en abstracte klassen hebben de neiging om meer abstracte concepten te modelleren met behulp van abstracte methoden. Abstracte methoden zijn subroutines in een abstracte klasse die geen implementatie bevat. 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 voor het maken van een abstracte klasse. Bijvoorbeeld, in C ++, een aBSTACT -klasse wordt 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 moet worden hersteld. Dit is de reden waarom een abstracte klasse nuttig is. Kinderklassen en onderliggende objecten van die subklassen erven eigenschappen van de bovenliggende abstracte klasse. Abstracte klassen worden beschouwd als superclasses en staan aan de top van de klassenstructuurhiërarchie, dus ze hebben geen zin in een taal die geen erfenis ondersteunt.