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

Sadržaj:

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

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

Video: Razlika između višestrukog i višerazinskog nasljeđivanja
Video: Строение клетки - кратко 2024, Studeni
Anonim

Ključna razlika – višestruko nasljeđivanje u odnosu na višerazinsko nasljeđivanje

Objektno orijentirano programiranje (OOP) je paradigma za dizajniranje programa korištenjem klasa i metoda. Scenariji stvarnog svijeta mogu se preslikati na objekte. Stoga je lako izgraditi softverska rješenja. Klasa je nacrt za izgradnju objekta. Sadrži svojstva i metode. Na primjer, prije stvaranja studentskog objekta, trebao bi postojati student klase sa svojstvima i metodama. Student može imati svojstva kao što su studentski ID, 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 pomoću njih. Stvaranje objekta također je poznato kao Instancija objekta. Objekt ne postoji u izolaciji. Oni komuniciraju s drugim objektima i podaci se prosljeđuju unutar objekata. Jedan stup OOP-a je nasljeđivanje. Svrha nasljeđivanja je povećati mogućnost ponovne upotrebe koda. Stvara 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 višerazinsko nasljeđivanje su vrste 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 klasa nasljeđuje od mnogih osnovnih klasa, dok je višerazinsko nasljeđivanje kada klasa nasljeđuje od izvedene klase čineći tu izvedenu klasu osnovnom klasom za novu klasu.

Što 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đivanje

A B i C su klase. A i B su osnovne klase, a C je izvedena klasa. Klasa C mora upravljati ovisnošću baznih klasa A i B. Višestruko nasljeđivanje nije široko korišteno u softverskim projektima. To čini sustav složenijim jer jedna klasa nasljeđuje mnogo klasa.

Na primjer, pretpostavimo da obje klase A i B imaju metodu s istim imenom koja je sum() i klasa C izvodi obje klase. Nakon stvaranja objekta tipa C i pozivanja metode sum (), može doći do pogreške jer obje klase imaju istu metodu. Prevodilac ne zna koju funkciju da pozove. Stoga višestruko nasljeđivanje povećava složenost sustava. 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 sučelje koje je slično klasi, ali se ne može instancirati.

Što je višerazinsko nasljeđivanje?

Višerazinsko nasljeđivanje je kada klasa nasljeđuje od izvedene klase č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: Višerazinsko nasljeđivanje

Višerazinsko nasljeđivanje ima tri razine. 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 višerazinsko nasljeđivanje je sljedeći. Program je napisan pomoću Jave.

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 gornjem 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. Stoga klasa C može pristupiti svojstvima i metodama i A i B. Kada kreirate objekt 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šerazinskog nasljeđivanja?

Obje su vrste nasljeđivanja

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

Višestruko nasljeđivanje nasuprot nasljeđivanju na više razina

Višestruko nasljeđivanje je vrsta nasljeđivanja gdje klasa nasljeđuje više od jedne osnovne klase. Višerazinsko nasljeđivanje je vrsta nasljeđivanja koja 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 sustav složenijim. Višerazinsko nasljeđivanje se široko koristi.
Razine razreda
Višestruko nasljeđivanje ima dvije razine klase, naime, osnovnu klasu i izvedenu klasu. Višerazinsko nasljeđivanje ima tri razine klase, naime osnovnu klasu, srednju klasu i izvedenu klasu.

Sažetak – Višestruko nasuprot višerazinskom nasljeđivanju

Nasljeđivanje je glavni stup objektno orijentiranog programiranja. Postoje različite vrste nasljeđivanja; to su nasljeđivanje jedne razine, nasljeđivanje više razina, višestruko nasljeđivanje, hijerarhijsko nasljeđivanje i hibridno nasljeđivanje. Jednorazinsko nasljeđivanje ima jednu osnovnu klasu 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 razina. Razlika između višestrukog i višerazinskog nasljeđivanja je u tome što je višestruko nasljeđivanje kada klasa nasljeđuje od mnogih osnovnih klasa, dok je višerazinsko nasljeđivanje kada klasa nasljeđuje od izvedene klase, čineći tu izvedenu klasu osnovnom klasom za novu klasu. Višerazinsko nasljeđivanje se više koristi od višestrukog nasljeđivanja.

Preuzmite PDF Višestruko nasuprot nasljeđivanju na više razina

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

Preporučeni: