Podporuje Java viacnásobnú dedičnosť Prečo alebo prečo nie?
Podporuje Java viacnásobnú dedičnosť Prečo alebo prečo nie?
Anonim

java nepodporuje viacnásobnú dedičnosť cez triedy, ale cez rozhrania, ktoré môžeme použiť viacnásobné dedičstvo . Žiadna java nie podporovať viacnásobné dedičstvo priamo, pretože to vedie k prepísaniu metód, keď obe rozšírené triedy majú rovnaký názov metódy.

Je teda v jazyku Java povolené viacnásobné dedenie?

C++, Common lisp a niekoľko ďalších jazykov podporuje viacnásobné dedičstvo zatiaľ čo java nepodporuje to. Java nie umožňujú viacnásobné dedičstvo aby sa predišlo nejasnostiam, ktoré to spôsobuje. Jedným z príkladov takéhoto problému je diamantový problém, ktorý sa vyskytuje v viacnásobné dedičstvo.

Tiež viete, prečo je viacnásobné dedičstvo zlé? Nebezpečenstvo s viacnásobné dedičstvo je zložitosť. Keďže môžete ovplyvniť viacnásobné modulov vo vašej aplikácii z rovnakých nadradených tried, nie je také ľahké uvažovať o zmenách kódu. Akákoľvek chyba môže spôsobiť reťazovú reakciu chýb. Toto je kde viacnásobné dedičstvo sa môže stať produktívnym.

Tiež viete, ktoré dedičstvo nie je podporované Java Prečo?

V jave sa to nikdy nemôže stať, pretože neexistuje viacnásobné dedičstvo . Aj keď dve rozhrania budú mať rovnakú metódu, implementačná trieda bude mať iba jednu metódu a aj tú vykoná implementátor. Dynamické zaťaženie tried robí implementáciu viacnásobné dedičstvo ťažké.

Prečo sa v rozhraní používa viacnásobná dedičnosť?

Ako sme vysvetlili v dedičstvo kapitola, viacnásobné dedičstvo nie je podporované v prípade triedy z dôvodu nejednoznačnosti. Avšak, je podporované v prípade an rozhranie pretože tam nie je žiadna nejednoznačnosť. Je to preto, že jeho implementáciu zabezpečuje implementačná trieda. rozhranie Zobraziteľné{

Odporúča: