Verschil Tussen Werktuigen En Uitbreidingen

Verschil Tussen Werktuigen En Uitbreidingen
Verschil Tussen Werktuigen En Uitbreidingen

Video: Verschil Tussen Werktuigen En Uitbreidingen

Video: Verschil Tussen Werktuigen En Uitbreidingen
Video: Gereedschap maken 2024, December
Anonim

Werktuigen versus uitbreidingen

Implementaties en uitbreidingen zijn twee sleutelwoorden die in de programmeertaal Java worden aangetroffen en die een manier bieden om extra functionaliteit over te brengen naar een nieuwe klasse. Het sleutelwoord Implementeert wordt expliciet gebruikt voor het implementeren van een interface, terwijl het sleutelwoord Extends wordt gebruikt voor het erven van een (super) klasse. Houd er rekening mee dat de concepten overerving 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 richt zich alleen op de sleutelwoorden voor implementaties en uitbreidingen die in Java zijn gedefinieerd.

Verlengt

Het sleutelwoord Extends wordt gebruikt om het concept van overerving in de programmeertaal Java te implementeren. Overerving biedt in wezen hergebruik van code door uitbreiding van eigenschappen en gedrag van een bestaande klasse door een nieuw gedefinieerde klasse toe te staan. Wanneer een nieuwe subklasse (of afgeleide klasse) een superklasse (of bovenliggende klasse) uitbreidt, zal die subklasse alle attributen en methoden van de superklasse erven. De subklasse kan optioneel het gedrag overschrijven (nieuwe of uitgebreide functionaliteit bieden aan methoden) dat is geërfd van de bovenliggende klasse. Een subklasse kan niet meerdere superklassen in Java uitbreiden. Daarom kunt u extends niet gebruiken voor meervoudige overerving. Om meervoudige overerving te hebben, moet u interfaces gebruiken zoals hieronder wordt uitgelegd.

Werktuigen

Implementeert sleutelwoord in programmeertaal Java 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 te specificeren dat moet worden geïmplementeerd door klassen die die interface implementeren. 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. Een interface kan geen andere interface implementeren. Een interface kan echter een klasse uitbreiden.

Verschil tussen werktuigen en uitbreidingen

Hoewel, Implementaties en Extends twee sleutelwoorden zijn die een mechanisme bieden om attributen en gedrag over te nemen aan een klasse in de programmeertaal Java, worden ze voor twee verschillende doeleinden gebruikt. Het sleutelwoord Implementeert wordt gebruikt voor een klasse om een bepaalde interface te implementeren, terwijl het sleutelwoord Extends wordt gebruikt om een subklasse uit te breiden vanuit een superklasse. Wanneer een klasse een interface implementeert, moet die klasse alle methoden implementeren die in de interface zijn gedefinieerd, maar wanneer een subklasse een superklasse uitbreidt, kan deze de methoden die in de bovenliggende klasse zijn opgenomen al dan niet overschrijven. Ten slotte is een ander belangrijk verschil tussen Implements en Extends dat een klasse meerdere interfaces kan implementeren, maar zich alleen kan uitstrekken vanaf één superklasse in Java. Over het algemeen wordt het gebruik van werktuigen (interfaces) als gunstiger beschouwd in vergelijking met het gebruik van uitbreidingen (overerving),om verschillende redenen, zoals een grotere flexibiliteit en de mogelijkheid om koppeling te minimaliseren. Daarom heeft programmeren naar een interface in de praktijk de voorkeur boven uitbreiding van basisklassen.

Aanbevolen: