Skip to main content

Wat is interface -erfenis?

Interface -overerving is een mechanisme in bepaalde computertalen waar specifieke functies worden geërfd door een klasse, en vervolgens moet die specifieke klasse implementaties bieden voor die functies om voltooid te zijn.Interfaces bestaan alleen in bepaalde objectgeoriënteerde programmeertalen.Ze kunnen worden gebruikt om meerdere overerving na te bootsen, terwijl ze geen klasse kunnen vermenigvuldigen, omdat er over het algemeen geen grenzen zijn aan het aantal interfaces waar een klasse van kan erven.Naast niet -geïmplementeerde methoden kunnen interfaces ook openbare constanten omvatten.

In interface -overerving wordt het object dat methode stubs en constanten erft beschouwd als een type interface -object.Dus als een klasse X wordt geërfd van een interface y, zou elk exemplaar van de klasse X ook een exemplaar van de klasse Y zijn. Dit wordt gecompliceerder wanneer een class -interface -overerving meer dan één afzonderlijke interface omvat.Voor elke extra interface die wordt geërfd, kan de resulterende klasse legitiem worden gebruikt als een exemplaar van elk.Als een klasse van tien verschillende interfaces, kunnen objecten van die klasse worden gebruikt als een exemplaar van elf verschillende objecten, inclusief zichzelf.

dergelijke complexe overerving is niet vaak noodzakelijk.Interface -overerving wordt gebruikt om ervoor te zorgen dat een klasse een specifieke set van vereist gedrag heeft, en deze gedragingen stellen het in staat om een verscheidenheid aan functies uit te voeren die het anders niet zou kunnen doen.Een veel voorkomend voorbeeld hiervan is de ActionListener -interface in Java, die een klasse vereist om slechts één specifieke methode te implementeren.Met een succesvolle implementatie van deze methode kan een gebruiker knoppen, menu -items of een ander vensterobject in de klasse besturen indien gewenst.Interface -overerving is een relatief eenvoudige manier om complexe functionaliteit aan een klasse toe te voegen zonder zich zorgen te maken over de meest gecompliceerde overervingsproblemen. Een van de grootste voordelen voor het gebruik van interface -overerving is dat hiermee specifieke objecten in generieke zin kunnen worden gebruikt.Aangezien een klasse die een interface implementeert een instantie van die interface is, kan deze worden gebruikt op elke plaats waar een instantie van die interface vereist is.Als Klasse A bijvoorbeeld klasse C implementeert, en klasse B ook klasse C implementeert als een methode als een parameter een exemplaar van klasse C neemt, zou een exemplaar van klasse A of een exemplaar van klasse B een acceptabele parameter zijn om te gebruiken.Interfaces kunnen niet op zichzelf worden geïnstantieerd omdat ze niet compleet zijn, dus er zou nooit een object zijn dat puur een exemplaar was van klasse C als parameter.