Kodėl „Java“nepalaiko daugialypio paveldėjimo?

Kodėl „Java“nepalaiko daugialypio paveldėjimo?
Kodėl „Java“nepalaiko daugialypio paveldėjimo?
Anonim

Java palaiko daugialypį paveldėjimą tik per sąsajas. Klasė gali įdiegti bet kokį sąsajų skaičių, bet gali išplėsti tik vieną klasę. Daugkartinis paveldėjimas nepalaikomas nes jis sukelia mirtiną deimantų problemą Deimantų problema „Deimantų problema“(kartais vadinama „Mirtinu mirties deimantu“) yra dviprasmybė, kylanti, kai dvi B ir C klasės paveldi A ir D klasė paveldi ir iš B, ir iš C. … Tai vadinama „deimantų problema“dėl klasės paveldėjimo diagramos formos šioje situacijoje. https://en.wikipedia.org › wiki › Multiple_inheritance

Kelių kartų paveldėjimas – Vikipedija

Ar Java palaiko daugialypį paveldėjimą, ar ne?

Kai viena klasė apima daugiau nei vieną klasę, tai vadinama daugybiniu paveldėjimu. … Java neleidžia daugybinio paveldėjimo.

Kokia yra daugybinio paveldėjimo problema?

Daugelio paveldėjimo problema daugelį metų buvo prieštaringa, o oponentai atkreipia dėmesį į padidėjusį jo sudėtingumą ir dviprasmiškumą tokiose situacijose kaip „deimantų problema“, kai gali būti dviprasmiška kuriai pirminei klasei. konkreti ypatybė paveldima, jei daugiau nei viena pirminė klasė įgyvendina tą patį …

Kodėl C++ nepalaiko daugialypio paveldėjimo „Java“?

Tai įmanoma, nes Java neleisti kelis paveldėjimus, bet tik kelis įgyvendinimus iš kelių sąsajų. … Kadangi java sąsaja gali deklaruoti tik metodų parašą jų neįdiegdama, problema neegzistuoja, jei gaunamos kelios sąsajos.

Kaip „Java“sąsaja gali turėti daugybinį paveldėjimą?

Java daugkartinis paveldėjimas naudojant sąsają

  1. sąsaja, kurią galima spausdinti{
  2. netinkamas spausdinimas;
  3. }
  4. sąsaja Rodoma{
  5. negalioja šou;
  6. }
  7. A7 klasės padargai, kuriuos galima spausdinti, rodyti{
  8. public void print{System.out.println("Sveiki");}

Rekomenduojamas: