Verschil tussen implementen en verlengt

Anonim

Uitvoeren vs Verlengt

Uitvoeren en verlengen zijn twee trefwoorden gevonden in Java-programmeertaal die een mogelijkheid biedt om de toegevoegde functionaliteit over te dragen aan een nieuwe klas. Uitvoeren van zoekwoorden wordt expliciet gebruikt voor het implementeren van een interface, terwijl Extends-trefwoord wordt gebruikt voor het erfgenaam van een (super) klasse. Houd er rekening mee dat de begrippen erfelijkheid en interfaces aanwezig zijn in de meeste andere object georiënteerde programmeer talen zoals C # en VB. NET, maar ze bieden verschillende syntaxen of trefwoorden voor het toepassen van die concepten. Dit artikel richt zich alleen op implementaties en extensies die in Java zijn gedefinieerd.

Verlengt

Uitgebreid zoekwoord wordt gebruikt om het begrip erfenis in de Java-programmeertaal te implementeren. Erfelijkheid biedt in wezen code hergebruik door de uitbreiding van eigenschappen en gedrag van een bestaande klasse door een nieuw gedefinieerde klasse toe te staan. Wanneer een nieuwe subklasse (of afgeleide klas) een superklasse (of ouderklasse) uitstrekt die subklasse alle eigenschappen en methoden van de superklasse zal erven. De subklasse kan eventueel het gedrag overschrijven (nieuwe of uitgebreide functionaliteit geven aan methoden) die van de ouderklasse geërfd zijn. Een subklasse kan niet meerdere superklassen uitbreiden in Java. Daarom kan u niet gebruiken voor meerdere erfenis. Om meerdere erfenis te hebben, moet u interfaces gebruiken zoals hieronder uiteengezet.

Gereedschappen

Implementeert het trefwoord in Java-programmeertaal wordt gebruikt voor het implementeren van een interface door een klasse. Een interface in Java is een abstract type dat gebruikt wordt om een ​​contract te specificeren dat door klassen moet worden geïmplementeerd, die die interface implementeren. Meestal bevat een interface alleen methode handtekeningen en constante declaraties. Elke interface die een bepaalde interface implementeert, moet alle methoden die in de interface zijn gedefinieerd, implementeren of als een abstracte klasse worden aangemerkt. In Java kan het type objectreferentie worden gedefinieerd als een interface type. Maar dat object moet ofwel een object van een klasse zijn, die de betreffende interface implementeert. Met behulp van het implementatie-trefwoord in Java kunt u meerdere interfaces implementeren in één klasse. Een interface kan geen andere interface implementeren. Een interface kan echter een klasse verlengen.

Verschil tussen implementen en uitbreidt

Hoewel, implementeert en uitbreidt, twee sleutelwoorden zijn die een mechanisme bieden om eigenschappen en gedrag van een klas in de Java-programmeertaal te kunnen erven, worden ze voor twee verschillende doeleinden gebruikt. Uitvoeren van trefwoorden wordt gebruikt voor een klas om een ​​bepaalde interface te implementeren, terwijl Extends-trefwoord wordt gebruikt voor een subklasse die zich uitstrekt van een superklasse. Wanneer een klas een interface implementeert, moet deze klasse alle methoden die in de interface zijn gedefinieerd, implementeren, maar als een subklasse een superklasse uitbrengt, kan of niet de methoden die in de ouderklasse zijn opgenomen, negeren.Tenslotte is een ander belangrijk verschil tussen Implementes en Extends dat een klasse meerdere interfaces kan implementeren, maar het kan alleen van één superklasse in Java komen. In het algemeen wordt gebruik van implementen (interfaces) als gunstiger beschouwd in vergelijking met het gebruik van extends (erfenis), om verschillende redenen, zoals hogere flexibiliteit en de mogelijkheid om koppeling te minimaliseren. Daarom is in de praktijk de voorkeur aan het programmeren naar een interface over het uitstrekken van basisklassen.