2024 Auteur: Mildred Bawerman | [email protected]. Laatst gewijzigd: 2023-12-16 08:40
Abstracte klasse versus interface
Abstracte klasse en interface zijn twee objectgeoriënteerde constructies die in veel objectgeoriënteerde programmeertalen zoals Java worden aangetroffen. Abstracte klasse kan worden beschouwd als een abstracte versie van een reguliere (concrete) klasse, terwijl een interface kan worden beschouwd als een middel om een contract uit te voeren. Abstracte klasse is een klasse die niet kan worden geïnitialiseerd, maar wel kan worden uitgebreid. Interface is een type dat door andere klassen moet worden geïmplementeerd. In Java worden abstracte klassen gedeclareerd met behulp van het abstracte trefwoord, terwijl het interface-trefwoord wordt gebruikt om een interface te definiëren.
Wat is een abstracte klasse?
Meestal kunnen abstracte klassen, ook wel abstracte basisklassen (ABC) genoemd, niet worden geïnstantieerd (er kan geen instantie van die klasse worden gemaakt). Abstracte klassen hebben dus alleen zin als de programmeertaal overerving ondersteunt (mogelijkheid om subklassen te maken door een klasse uit te breiden). Abstracte klassen vertegenwoordigen meestal een abstract concept of entiteit met gedeeltelijke of geen implementatie. Daarom fungeren abstracte klassen als bovenliggende klassen waarvan onderliggende klassen worden afgeleid, zodat de onderliggende klasse de onvolledige kenmerken van de bovenliggende klasse deelt en functionaliteit kan worden toegevoegd om ze te voltooien.
Abstracte klassen kunnen abstracte methoden bevatten. Subklassen die een abstracte klasse uitbreiden, kunnen deze (overgeërfde) abstracte methoden implementeren. Als de onderliggende klasse al dergelijke abstracte methoden implementeert, is het een concrete klasse. Maar als dat niet het geval is, wordt de kinderklasse ook een abstracte klas. Dit alles betekent dat wanneer de programmeur een klas nomineert als een abstract, ze zegt dat de klas onvolledig zal zijn en dat het elementen zal bevatten die moeten worden aangevuld door de overervende subklassen. Dit is een leuke manier om een contract tussen twee programmeurs te creëren, wat taken in softwareontwikkeling vereenvoudigt. De programmeur, die code schrijft om te erven, moet de methodedefinities exact volgen (maar kan natuurlijk haar eigen implementatie hebben).
Wat is een interface?
Een interface is een abstract type dat wordt gebruikt om een contract te specificeren dat moet worden geïmplementeerd door klassen die die interface implementeren. Het interface-sleutelwoord wordt gebruikt om een interface te definiëren en het sleutelwoord Implementaties wordt gebruikt voor het implementeren van een interface door een klasse (in de programmeertaal Java). Gewoonlijk bevat een interface alleen methodehandtekeningen en constante declaraties. Elke interface die een bepaalde interface implementeert, moet alle methoden implementeren die in de interface zijn gedefinieerd, of moet worden gedeclareerd als een abstracte klasse. In Java kan het type objectreferentie worden gedefinieerd als een interfacetype. Maar dat object moet ofwel null zijn of moet een object van een klasse bevatten, die die specifieke interface implementeert. Met het sleutelwoord Implementaties in Java kunt u meerdere interfaces in een enkele klasse implementeren.
Wat is het verschil tussen abstracte klasse en interface?
Abstracte klassen vertegenwoordigen meestal een abstract concept of een entiteit met gedeeltelijke of geen implementatie. Aan de andere kant is een interface een abstract type dat wordt gebruikt om een contract te specificeren dat door klassen moet worden geïmplementeerd. Abstracte klassen moeten worden overgeërfd (of uitgebreid), terwijl interfaces moeten worden geïmplementeerd. Abstracte klassen kunnen abstracte methoden bevatten, terwijl een interface alleen abstracte methoden mag bevatten. Abstracte klassen kunnen alle variabelen bevatten, maar interfaces kunnen alleen constanten definiëren. Een klasse kan niet erven van meer dan één abstracte klasse, maar kan wel meerdere interfaces implementeren. Een interface kan geen andere interface implementeren. Een interface kan echter een klasse uitbreiden.
Aanbevolen:
Verschil Tussen Abstracte Klasse En Overerving
Abstracte klasse versus overerving Abstracte klasse en overerving zijn twee belangrijke objectgeoriënteerde concepten die in veel objectgeoriënteerde programmeertalen voorkomen
Verschil Tussen Klasse En ID
Class vs ID Cascading Style Sheets (CSS) is een taal die het uiterlijk en de opmaak beschrijft van een document dat is geschreven met een opmaaktaal. CSS is wijdverspreid
Verschil Tussen Middenklasse En Hogere Klasse
Middenklasse versus hogere klasse Mensen van een samenleving zijn onderverdeeld in verschillende klassen op basis van de economische en culturele omstandigheden van mensen in een specific
Verschil Tussen Klasse- En Instantievariabelen
Belangrijkste verschil - Klasse versus instantievariabelen De meeste moderne programmeertalen ondersteunen Object Oriented Programming. Een object bevat gegevens of attributen
Verschil Tussen Overerving En Interface In Java
Belangrijkste verschil - Overerving versus interface in Java Java is een programmeertaal die is ontwikkeld door Sun Microsystems. Java kan worden gebruikt om verschillende applicaties te ontwikkelen