Interfaces en abstracte klassen in Java

Inhoudsopgave
Hoewel beide structuren op elkaar lijken, omdat ze de klassen die ze gebruiken dwingen de methoden te creëren die ze hebben en ze gebruiken zodat ze geldig kunnen zijn, hebben ze belangrijke verschillen tussen hen, wat ons meer licht kan geven over hoe we ze kunnen gebruiken .
De verschillen, hoewel ze subtiel zijn, stellen ons in staat om beide structuren zelfs in combinatie te gebruiken, op deze manier kunnen we meer orde in ons project bereiken en toepassingen creëren waarmee we de objecten van de echte wereld beter in een digitaal formaat kunnen reproduceren.
BeperkingenHet belangrijkste verschil dat we zien tussen abstracte lessen en interfaces is dat de eerste een klasse is en de tweede niet, ook al is de koppel een vergelijkbare structuur heeft, wordt geconfronteerd met beperkingen die niet worden gevonden in a abstracte klasse.
VariabelenDe abstracte klasse heeft geen beperking op het gebruik van variabelen, maar de koppel als dat zo is, moeten in feite alle variabelen die we gaan gebruiken zijn openbaar, statisch of definitief.
In dit geval de bouwer van de abstracte klasse moet worden aangeroepen via subklassen, wat de mogelijkheid uitsluit om het via de operator te instantiëren nieuwe.
In het geval van koppel, dit kan geen constructors hebben omdat het geen klasse is, waardoor we ook het maken van instanties met de operator weggooien nieuwe.
Methoden:In een koppel de methoden moeten zijn: openbare samenvatting Aan de andere kant kunnen we in de abstracte klasse elk type methode zonder problemen plaatsen, wat voor ons nog een verschil maakt.
Een ander punt waar we rekening mee moeten houden, is de manier van overerving en implementatie die we kunnen bereiken met deze twee structuren in Java, we weten dat wanneer we dat doen erfenis In een klasse kunnen we alleen rechtstreeks erven van een superieure klasse, dat wil zeggen, als we willen erven van twee verschillende klassen, moeten we een cascade-effect creëren, waarbij een eerste klasse erft van de superieure klasse en vervolgens een andere klasse erft van dit om de functionaliteit en die van de bovenliggende klasse te verkrijgen.
In de interfaces Dit probleem doet zich niet voor, in feite kunnen we rechtstreeks van verschillende interfaces erven, dus als we hun methoden willen verkrijgen, kunnen we dit zonder problemen doen.

In het geval van implementatie van een interface in een abstracte klasse als we meer vrijheid hebben, in dit geval kunnen we in dit geval meerdere interfaces implementeren zonder enige vorm van beperking, wat ons de mogelijkheid geeft om als het ware een complexere ouderinterface te maken. Het belangrijkste hier is om te weten en er rekening mee te houden dat een interface geen klasse is en daarom niet van één kan erven, het kan alleen overerving van andere interfaces.

Hiermee sluiten we deze tutorial af, we hebben de verschillen in beperkingen en implementatie in onze programma's van deze twee structuren gezien in JavaHoewel beide dienen om gedrag te modelleren en te definiëren, heeft elk zijn eigen ruimte, dus als we ze beter kennen, kunnen we beslissen welke we willen gebruiken in onze programma's die met deze taal zijn gemaakt.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave