Java acceptă moștenirea multiplă De ce sau de ce nu?
Java acceptă moștenirea multiplă De ce sau de ce nu?

Video: Java acceptă moștenirea multiplă De ce sau de ce nu?

Video: Java acceptă moștenirea multiplă De ce sau de ce nu?
Video: Why multiple inheritance is not allowed in java using classes? #shorts #java #inheritance 2024, Noiembrie
Anonim

java nu acceptă moșteniri multiple prin clase, dar prin interfețe, putem folosi moșteniri multiple . Fara java nu susține moștenirea multiplă direct, deoarece duce la suprascrierea metodelor atunci când ambele clase extinse au același nume de metodă.

În consecință, este permisă moștenirea multiplă în Java?

C++, Common lisp și câteva alte limbi suportate moștenire multiplă in timp ce java nu o suporta. Java nu permite moștenirea multiplă pentru a evita ambiguitatea cauzată de aceasta. Unul dintre exemplele unei astfel de probleme este problema diamantelor care apare în moștenire multiplă.

De asemenea, știți, de ce moștenirea multiplă este rea? Pericolul cu moștenire multiplă este complexitatea. Din moment ce ai putea afecta multiplu module din aplicația dvs. din aceleași clase părinte, nu este atât de ușor să argumentați despre modificările codului. Orice greșeală poate provoca o reacție în lanț a bug-urilor. Aici e locul moștenire multiplă poate deveni productiv.

Știți, de asemenea, ce moștenire nu este acceptată de Java De ce?

În Java, acest lucru nu se poate întâmpla niciodată, deoarece nu există moștenire multiplă . Aici, chiar dacă două interfețe vor avea aceeași metodă, clasa de implementare va avea o singură metodă și aceasta va fi făcută și de implementator. Încărcarea dinamică a claselor face implementarea moștenire multiplă dificil.

De ce este folosită moștenirea multiplă în interfață?

După cum am explicat în moştenire capitol, moștenire multiplă nu este sprijinit în cazul clasei din cauza ambiguității. Cu toate acestea, este sprijinit în cazul unui interfață pentru că nu există ambiguitate. Se datorează faptului că implementarea sa este asigurată de clasa de implementare. interfață Afișabil{

Recomandat: