Podporuje Java vícenásobnou dědičnost Proč nebo proč ne?
Podporuje Java vícenásobnou dědičnost Proč nebo proč ne?

Video: Podporuje Java vícenásobnou dědičnost Proč nebo proč ne?

Video: Podporuje Java vícenásobnou dědičnost Proč nebo proč ne?
Video: Java's Creators Rejected Multiple Inheritance - Here's Why 2024, Listopad
Anonim

Java nepodporuje vícenásobnou dědičnost přes třídy, ale přes rozhraní, můžeme použít vícenásobná dědictví . Žádná java ne podporovat vícenásobnou dědičnost přímo, protože to vede k přepsání metod, když obě rozšířené třídy mají stejný název metody.

Je tedy v Javě povoleno vícenásobné dědění?

C++, Common lisp a několik dalších jazyků podporuje vícenásobné dědictví zatímco Jáva nepodporuje to. Jáva ne umožnit vícenásobné dědictví aby se předešlo nejasnostem, které to způsobuje. Jedním z příkladů takového problému je diamantový problém, který se vyskytuje v vícenásobné dědictví.

Také víte, proč je vícenásobná dědičnost špatná? Nebezpečí s vícenásobné dědictví je složitost. Protože můžete ovlivnit násobek moduly ve vaší aplikaci ze stejných nadřazených tříd, není tak snadné uvažovat o změnách kódu. Jakákoli chyba by mohla způsobit řetězovou reakci chyb. To je kde vícenásobné dědictví se může stát produktivní.

Také víte, která dědičnost není podporována Java Proč?

V Javě k tomu nikdy nemůže dojít, protože neexistuje vícenásobné dědictví . Zde, i když dvě rozhraní budou mít stejnou metodu, implementační třída bude mít pouze jednu metodu a i tu bude provádět implementátor. Dynamické načítání tříd umožňuje implementaci vícenásobné dědictví obtížný.

Proč se v rozhraní používá vícenásobná dědičnost?

Jak jsme vysvětlili v dědictví kapitola, vícenásobné dědictví není podporováno v případě třídy z důvodu nejednoznačnosti. Nicméně je podporováno v případě an rozhraní protože tam není žádná dvojznačnost. Je to proto, že jeho implementaci zajišťuje implementační třída. rozhraní Zobrazitelný{

Doporučuje: