Waarom ondersteunt Java geen meervoudige overerving?

Inhoudsopgave:

Waarom ondersteunt Java geen meervoudige overerving?
Waarom ondersteunt Java geen meervoudige overerving?
Anonim

Java ondersteunt alleen meerdere overerving via interfaces. Een klasse kan een willekeurig aantal interfaces implementeren, maar kan slechts één klasse uitbreiden. Meervoudige overerving wordt niet ondersteund omdat dit leidt tot dodelijk diamantprobleem diamantprobleem Het "diamantprobleem" (soms aangeduid als de "Dodelijke diamant des doods") is een ambiguïteit die ontstaat wanneer twee klassen B en C erven van A, en klasse D erft van zowel B als C. … Het wordt het "diamantprobleem" genoemd vanwege de vorm van het klassenoverervingsdiagram in deze situatie. https://en.wikipedia.org › wiki › Multiple_inheritance

Meervoudige overerving - Wikipedia

Ondersteunt Java meervoudige overerving of niet?

Als één klasse meer dan één klasse uitbreidt, wordt dit meervoudige overerving genoemd. … Java staat geen meervoudige overerving toe.

Wat is het probleem met meervoudige overerving?

Meervoudige overerving is al vele jaren een controversieel onderwerp, waarbij tegenstanders wijzen op de toegenomen complexiteit en dubbelzinnigheid in situaties zoals het "diamantprobleem", waar het dubbelzinnig kan zijn als naar welke ouderklasse een bepaald kenmerk wordt geërfd van als meer dan één bovenliggende klasse hetzelfde implementeert …

Waarom ondersteunt C++ geen meervoudige overerving in Java?

Dat is mogelijk omdat Java dat niet doetmeerdere overerving toestaan, maar alleen meervoudige implementatie vanuit meerdere interfaces. … Aangezien de interface in Java alleen de handtekening van methoden kan declareren zonder ze te implementeren, bestaat het probleem niet als er meerdere interfaces worden afgeleid.

Hoe kan een Java-interface meerdere overerving hebben?

Meerdere overerving in Java door interface

  1. interface Afdrukbaar{
  2. afdruk ongeldig;
  3. }
  4. interface Toonbaar{
  5. void show;
  6. }
  7. class A7 implementeert Printable, Showable{
  8. public void print{System.out.println("Hallo");}

Aanbevolen: