Razlika između višestrukog i višeslojnog nasljeđivanja

Sadržaj:

Razlika između višestrukog i višeslojnog nasljeđivanja
Razlika između višestrukog i višeslojnog nasljeđivanja

Video: Razlika između višestrukog i višeslojnog nasljeđivanja

Video: Razlika između višestrukog i višeslojnog nasljeđivanja
Video: Syn и Anti Addition - энантиомеры, мезосоединения, конституциональные изомеры и диастереомеры 2024, Novembar
Anonim

Ključna razlika – višestruko naslijeđe na više nivoa

Objektno orijentirano programiranje (OOP) je paradigma za dizajniranje programa korištenjem klasa i metoda. Scenariji iz stvarnog svijeta mogu se mapirati na objekte. Stoga je lako izgraditi softverska rješenja. Klasa je nacrt za izgradnju objekta. Sadrži svojstva i metode. Na primjer, prije kreiranja studentskog objekta, trebao bi postojati učenik razreda sa svojstvima i metodama. Student može imati svojstva kao što su ID učenika, ime i metode kao što su čitanje, pisanje, učenje. Metode opisuju ponašanje dok su svojstva atributi. Nakon kreiranja klase, moguće je kreirati objekte koristeći ih. Kreiranje objekta je poznato i kao Instancija objekta. Objekt ne postoji u izolaciji. Oni komuniciraju s drugim objektima i podaci se prosljeđuju unutar objekata. Jedan od stubova OOP-a je nasleđivanje. Svrha nasljeđivanja je povećanje ponovne upotrebe koda. Kreira novu klasu svojstava i metoda već postojeće klase. Postojeća klasa je poznata kao osnovna klasa, a nova klasa se naziva izvedena klasa. Višestruko nasljeđivanje i nasljeđivanje na više nivoa su tipovi nasljeđivanja. Ovaj članak govori o razlici između njih. Ključna razlika između višestrukog i višerazinskog nasljeđivanja je u tome što je višestruko nasljeđivanje kada se klasa nasljeđuje od mnogih osnovnih klasa, dok je nasljeđivanje na više nivoa kada klasa nasljeđuje izvedenu klasu čineći tu izvedenu klasu baznom klasom za novu klasu.

Šta je višestruko nasljeđivanje?

Višestruko nasljeđivanje je kada klasa nasljeđuje više od jedne osnovne klase.

Razlika između višestrukog i višerazinskog nasljeđivanja
Razlika između višestrukog i višerazinskog nasljeđivanja

Slika 01: Višestruko nasljeđe

A B i C su klase. A i B su osnovne klase, a C je izvedena klasa. Klasa C mora upravljati ovisnošću obje osnovne klase A i B. Višestruko nasljeđivanje se ne koristi široko u softverskim projektima. To čini sistem složenijim jer jedna klasa nasljeđuje mnogo klasa.

Na primjer, pretpostavimo da i klase A i B imaju metodu sa istim imenom koje je sum() i klasa C izvodi obje klase. Nakon kreiranja objekta tipa C i pozivanja metode sum (), to može uzrokovati grešku jer obje klase imaju isti metod. Kompajler ne zna koju funkciju da pozove. Stoga, višestruko nasljeđivanje povećava složenost sistema. Višestruko nasljeđivanje je podržano u jeziku C++, ali jezici kao što su Java, C ne podržavaju višestruko nasljeđivanje. Umjesto toga, ovi jezici koriste interfejs koji je sličan klasi, ali se ne može instancirati.

Šta je nasljeđivanje na više nivoa?

Višestepeno nasljeđivanje je kada klasa nasljeđuje izvedenu klasu čineći tu izvedenu klasu osnovnom klasom za novu klasu.

Ključna razlika između višestrukog i višerazinskog nasljeđivanja
Ključna razlika između višestrukog i višerazinskog nasljeđivanja

Slika 02: Nasljedstvo na više nivoa

Višestepeno nasljeđivanje ima tri nivoa. Srednja klasa koju B nasljeđuje od klase A, a klasa C nasljeđuje od klase B. A je osnovna klasa za B, a B je osnovna klasa za C.

Program koji implementira nasljeđivanje na više nivoa je sljedeći. Program je napisan koristeći Java.

Razlika između višestrukog i višerazinskog nasljeđivanja_slika 03
Razlika između višestrukog i višerazinskog nasljeđivanja_slika 03

Slika 03: Program koji implementira višerazinsko nasljeđivanje

Prema gore navedenom programu, klasa A je osnovna klasa za klasu B. Klasa B je osnovna klasa za klasu C. Svim svojstvima i metodama klase A može pristupiti klasa B. Sva svojstva i metode klase B je dostupan klasi C. Prema tome, klasa C može pristupiti svojstvima i metodama i A i B. Prilikom kreiranja objekta tipa C, moguće je pozvati sve tri metode A (), B () i C (). Izlaz će dati A, B, C.

Koja je sličnost između višestrukog i višeslojnog nasljeđivanja?

Obje su vrste nasljeđa

Koja je razlika između višestrukog i višeslojnog nasljeđivanja?

Višestruko nasljeđivanje u odnosu na nasljeđivanje na više nivoa

Višestruko nasljeđivanje je tip nasljeđivanja gdje klasa nasljeđuje više od jedne osnovne klase. Višestepeno nasljeđivanje je tip nasljeđivanja koji se nasljeđuje od izvedene klase, čineći tu izvedenu klasu osnovnom klasom za novu klasu.
Upotreba
Višestruko nasljeđivanje nije široko korišteno jer čini sistem složenijim. Nasljedstvo na više nivoa se široko koristi.
Nivoi klase
Višestruko nasljeđivanje ima dva nivoa klase, odnosno osnovnu klasu i izvedenu klasu. Višestepeno nasljeđivanje ima tri nivoa klase, odnosno osnovnu klasu, srednju klasu i izvedenu klasu.

Sažetak – Višestruko naslijeđe nasljeđe na više nivoa

Nasljeđivanje je glavni stub objektno orijentiranog programiranja. Postoje različite vrste nasljeđivanja; to su nasljeđivanje na jednom nivou, nasljeđivanje na više nivoa, višestruko nasljeđivanje, hijerarhijsko nasljeđivanje i hibridno nasljeđivanje. Jednorazinsko nasljeđivanje ima jednu osnovnu i jednu izvedenu klasu. Hijerarhijsko nasljeđivanje ima jednu osnovnu klasu i mnogo izvedenih klasa. Hibridno nasljeđivanje je kombinacija višerazinskog i višestrukog nasljeđivanja. Ovaj članak opisuje razliku između višestrukog nasljeđivanja i nasljeđivanja na više nivoa. Razlika između višerazinskog i višerazinskog nasljeđivanja je u tome što je višestruko nasljeđivanje kada se klasa nasljeđuje od mnogih osnovnih klasa, dok je nasljeđivanje na više nivoa kada se klasa nasljeđuje od izvedene klase, što tu izvedenu klasu čini osnovnom klasom za novu klasu. Višerazinsko nasljeđivanje se široko koristi od višestrukog nasljeđivanja.

Preuzmite PDF višestruko naslijeđe na više nivoa

Možete preuzeti PDF verziju ovog članka i koristiti ga za vanmrežne svrhe prema napomeni o citatu. Molimo preuzmite PDF verziju ovdje Razlika između višestrukog i višeslojnog nasljeđivanja

Preporučuje se: