Verschil tussen Werktuigen en Uitbreidingen

Werkt tegen vs verlengt

Werktuigen en Uitbreidingen zijn twee sleutelwoorden in Java-programmeertaal die een manier bieden om toegevoegde functionaliteit over te dragen naar een nieuwe klasse. Implementatiesleutelwoord wordt expliciet gebruikt voor het implementeren van een interface, terwijl het trefwoord Uitvouwen wordt gebruikt voor het overerven van een (super) klasse. Merk op dat de concepten inheritance en interfaces aanwezig zijn in de meeste andere objectgeoriënteerde programmeertalen zoals C # en VB.NET, maar ze bieden verschillende syntaxis of trefwoorden voor het toepassen van die concepten. Dit artikel is alleen gericht op implementaties en uitbreidingen van trefwoorden gedefinieerd in Java.

breidt

Extends keyword wordt gebruikt om het concept van overerving in Java-programmeertaal te implementeren. Overerving biedt in essentie hergebruik van code door uitbreiding van eigenschappen en gedrag van een bestaande klasse door een nieuw gedefinieerde klasse. Wanneer een nieuwe subklasse (of afgeleide klasse) een superklasse (of bovenliggende klasse) uitbreidt, dan zal die subklasse alle attributen en methoden van de superklasse erven. De subklasse kan optioneel het gedrag overschrijven (nieuwe of uitgebreide functionaliteit verschaffen aan methoden) die zijn overgenomen van de bovenliggende klasse. Een subklasse kan niet meerdere superklassen uitbreiden in Java. Daarom kunt u uitbreidingen niet gebruiken voor meerdere overerving. Als u meerdere overerving wilt hebben, moet u interfaces gebruiken zoals hieronder wordt uitgelegd.

gereedschap

Implementatiesleutelwoord in Java-programmeertaal wordt gebruikt voor het implementeren van een interface door een klasse. Een interface in Java is een abstract type dat wordt gebruikt om een ​​contract op te geven dat moet worden geïmplementeerd door klassen, die die interface implementeren. Gewoonlijk bevat een interface alleen handtekeningen van methoden en constante verklaringen. Elke interface die een bepaalde interface implementeert, moet alle methoden implementeren die zijn gedefinieerd in de interface, of moet worden gedeclareerd als een abstracte klasse. In Java kan het type objectreferentie worden gedefinieerd als een interfacetype. Maar dat object moet nul zijn of een object van een klasse bevatten, dat die specifieke interface implementeert. Met het implementatietoolwoord in Java kunt u meerdere interfaces implementeren in één enkele klasse. Een interface kan geen andere interface implementeren. Een interface kan echter een klasse uitbreiden.

Verschil tussen Werktuigen en Uitbreidingen

Hoewel Implements and Extends twee sleutelwoorden zijn die een mechanisme bieden om kenmerken en gedrag over te dragen aan een klasse in Java-programmeertaal, worden ze voor twee verschillende doeleinden gebruikt. Implementatiesleutelwoord wordt gebruikt voor een klasse om een ​​bepaalde interface te implementeren, terwijl het zoekwoord Uitbreiden wordt gebruikt voor een subklasse om uit te breiden van een superklasse. Wanneer een klasse een interface implementeert, moet die klasse alle methoden implementeren die zijn gedefinieerd in de interface, maar wanneer een subklasse een superklasse uitbreidt, kan dit al dan niet de methoden overschrijven die zijn opgenomen in de bovenliggende klasse. Ten slotte is nog een belangrijk verschil tussen Implements en Extends dat een klasse meerdere interfaces kan implementeren, maar deze kan zich alleen uitbreiden van één superklasse in Java. In het algemeen wordt het gebruik van implantaten (interfaces) als gunstiger beschouwd in vergelijking met het gebruik van Extends (overerving), om verschillende redenen, zoals hogere flexibiliteit en het vermogen om koppeling te minimaliseren. Daarom heeft het programmeren aan een interface in de praktijk de voorkeur boven uitbreiding van basisklassen.