Understøtter Java multipel nedarvning Hvorfor eller hvorfor ikke?
Understøtter Java multipel nedarvning Hvorfor eller hvorfor ikke?

Video: Understøtter Java multipel nedarvning Hvorfor eller hvorfor ikke?

Video: Understøtter Java multipel nedarvning Hvorfor eller hvorfor ikke?
Video: #51 Multiple Inheritance in Java 2024, April
Anonim

java understøtter ikke flere nedarvninger gennem klasser, men gennem grænseflader, vi kan bruge flere arv . Ingen java gør ikke understøtter multipel arv direkte fordi det fører til tilsidesættelse af metoder, når begge udvidede klasser har samme metodenavn.

Er multipel nedarvning derfor tilladt i Java?

C++, Common Lisp og få andre sprog understøtter multipel arv mens java understøtter det ikke. Java gør ikke tillade multipel arv for at undgå tvetydigheden forårsaget af det. Et af eksemplerne på et sådant problem er diamantproblemet, der opstår i multipel arv.

Ved også, hvorfor er multipel arv dårlig? Faren med multipel arv er kompleksitet. Da du kan påvirke mange moduler i din app fra de samme forældreklasser, er det ikke så nemt at ræsonnere om kodeændringer. Enhver fejl kan forårsage en kædereaktion af fejl. Det er her multipel arv kan blive produktiv.

Ved også, hvilken arv der ikke understøttes af Java Hvorfor?

I java kan dette aldrig forekomme, da der ikke er nogen multipel arv . Her, selvom to grænseflader vil have samme metode, vil implementeringsklassen kun have én metode, og det vil også blive gjort af implementeren. Dynamisk indlæsning af klasser gør implementeringen af multipel arv svært.

Hvorfor bruges multipel arv i grænsefladen?

Som vi har forklaret i arv kapitel, multipel arv er ikke understøttes i tilfælde af klasse på grund af tvetydighed. Det er det dog understøttes i tilfælde af en interface fordi der ikke er nogen tvetydighed. Det er fordi dens implementering leveres af implementeringsklassen. interface Visbar{

Anbefalede: