Ondersteunt Java meervoudige overerving. Waarom wel of niet?
Ondersteunt Java meervoudige overerving. Waarom wel of niet?

Video: Ondersteunt Java meervoudige overerving. Waarom wel of niet?

Video: Ondersteunt Java meervoudige overerving. Waarom wel of niet?
Video: #51 Multiple Inheritance in Java 2024, November
Anonim

java ondersteunt geen meerdere overervingen via klassen, maar via de interfaces kunnen we gebruiken meerdere erfenissen . geen java niet ondersteuning van meerdere overerving direct omdat het leidt tot het overschrijven van methoden wanneer beide uitgebreide klassen dezelfde methodenaam hebben.

Is dus meervoudige overerving toegestaan in Java?

C++, Common lisp en weinig andere talen ondersteunen meervoudige overerving terwijl Java ondersteunt het niet. Java niet meerdere overerving toestaan om de onduidelijkheid die daardoor ontstaat te vermijden. Een van de voorbeelden van een dergelijk probleem is het diamantprobleem dat voorkomt in meervoudige overerving.

Weet ook, waarom is meervoudige overerving slecht? Het gevaar met meervoudige overerving is complexiteit. Aangezien u mogelijk invloed heeft op: meerdere modules in uw app van dezelfde bovenliggende klassen, is het niet zo eenvoudig om over codewijzigingen te redeneren. Elke fout kan een kettingreactie van bugs veroorzaken. Dit is waar meervoudige overerving productief kan worden.

Weet ook welke overerving niet door Java wordt ondersteund. Waarom?

In Java kan dit nooit gebeuren, want er is geen meervoudige overerving . Hier, zelfs als twee interfaces dezelfde methode zullen hebben, zal de implementatieklasse slechts één methode hebben en ook dat zal door de implementeerder worden gedaan. Dynamisch laden van klassen maakt de implementatie van meervoudige overerving moeilijk.

Waarom wordt meerdere overerving gebruikt in de interface?

Zoals we hebben uitgelegd in de erfenis hoofdstuk, meervoudige overerving is niet ondersteund in het geval van klasse vanwege ambiguïteit. Hoe het ook is ondersteund in het geval van een koppel omdat er geen onduidelijkheid is. Het is omdat de implementatie ervan wordt geleverd door de implementatieklasse. koppel Toonbaar{

Aanbevolen: