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

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

Video: Podporuje Java viacnásobnú dedičnosť Prečo alebo prečo nie?
Video: #51 Multiple Inheritance in Java 2024, Apríl
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: