Ključna razlika – večstopenjsko dedovanje proti večnivojskemu
Objektno usmerjeno programiranje (OOP) je paradigma za načrtovanje programa z uporabo razredov in metod. Scenariji iz resničnega sveta se lahko preslikajo v predmete. Zato je enostavno graditi programske rešitve. Razred je načrt za gradnjo predmeta. Vsebuje lastnosti in metode. Na primer, preden ustvarite predmet učenca, mora obstajati študent razreda z lastnostmi in metodami. Študent ima lahko lastnosti, kot so ID študenta, ime in metode, kot so branje, pisanje, študij. Metode opisujejo vedenje, medtem ko so lastnosti atributi. Ko ustvarite razred, je mogoče ustvariti predmete z njihovo uporabo. Ustvarjanje predmeta je znano tudi kot Instancija objekta. Objekt ne obstaja v izolaciji. Komunicirajo z drugimi objekti in podatki se prenašajo znotraj objektov. Eden od stebrov OOP je dedovanje. Namen dedovanja je povečati možnost ponovne uporabe kode. Ustvari nov razred lastnosti in metod že obstoječega razreda. Obstoječi razred je znan kot osnovni razred, novi razred pa se imenuje izpeljani razred. Večstopenjsko dedovanje in večnivojsko dedovanje sta vrsti dedovanja. Ta članek obravnava razliko med njima. Ključna razlika med večnivojskim in večnivojskim dedovanjem je, da je večnivojsko dedovanje, ko razred deduje od številnih osnovnih razredov, medtem ko je večnivojsko dedovanje, ko razred deduje iz izpeljanega razreda, zaradi česar je ta izpeljani razred osnovni razred za nov razred.
Kaj je večkratno dedovanje?
Večkratno dedovanje je, ko razred podeduje več kot en osnovni razred.
Slika 01: Večkratno dedovanje
A B in C sta razreda. A in B sta osnovna razreda, C pa izpeljani razred. Razred C mora upravljati odvisnost obeh osnovnih razredov A in B. Večkratno dedovanje se v programskih projektih ne uporablja pogosto. Zaradi tega je sistem bolj zapleten, ker en razred podeduje več razredov.
Na primer, predpostavimo, da imata razreda A in B metodo z enakim imenom, ki je sum(), razred C pa izpeljuje oba razreda. Ko ustvarite objekt tipa C in pokličete metodo sum (), lahko povzroči napako, ker imata oba razreda isto metodo. Prevajalnik ne ve, katero funkcijo naj pokliče. Zato večkratno dedovanje poveča kompleksnost sistema. Večkratno dedovanje je podprto v jeziku C++, vendar jeziki, kot sta Java, C, ne podpirajo večkratnega dedovanja. Namesto tega ti jeziki uporabljajo vmesnik, ki je podoben razredu, vendar ga ni mogoče instancirati.
Kaj je večnivojsko dedovanje?
Večstopenjsko dedovanje je, ko razred deduje od izpeljanega razreda, tako da ta izpeljan razred postane osnovni razred za nov razred.
Slika 02: Večnivojsko dedovanje
Večnivojsko dedovanje ima tri ravni. Vmesni razred, ki ga B podeduje od razreda A, razred C pa od razreda B. A je osnovni razred za B in B je osnovni razred za C.
Program, ki izvaja večnivojsko dedovanje, je naslednji. Program je napisan z uporabo Jave.
Slika 03: Program, ki izvaja večnivojsko dedovanje
V skladu z zgornjim programom je razred A osnovni razred za razred B. Razred B je osnovni razred za razred C. Vse lastnosti in metode razreda A so dostopne razredu B. Vse lastnosti in metode razreda B je dostopen z razredom C. Zato lahko razred C dostopa do lastnosti in metod tako A kot B. Ko ustvarjate objekt tipa C, je mogoče poklicati vse tri metode A (), B () in C (). Izhod bo dal A, B, C.
Kakšna je podobnost med večstopenjskim dedovanjem?
Obe sta vrsti dedovanja
Kakšna je razlika med večstopenjskim dedovanjem?
Večkratno dedovanje proti večnivojskemu dedovanju |
|
Večkratno dedovanje je vrsta dedovanja, kjer razred deduje iz več kot enega osnovnega razreda. | Večstopenjsko dedovanje je vrsta dedovanja, ki deduje iz izpeljanega razreda, zaradi česar je ta izpeljan razred osnovni razred za nov razred. |
Uporaba | |
Večkratno dedovanje se ne uporablja široko, ker naredi sistem bolj zapleten. | Večstopenjsko dedovanje se pogosto uporablja. |
Ravne razreda | |
Večkratno dedovanje ima dve ravni razreda, in sicer osnovni razred in izpeljani razred. | Večstopenjsko dedovanje ima tri ravni razreda, in sicer osnovni razred, vmesni razred in izpeljani razred. |
Povzetek – Večstopenjsko dedovanje proti večnivojskemu
Dedovanje je glavni steber objektno orientiranega programiranja. Obstajajo različne vrste dedovanja; to so enonivojsko dedovanje, večnivojsko dedovanje, večkratno dedovanje, hierarhično dedovanje in hibridno dedovanje. Enostopenjsko dedovanje ima en osnovni razred in en izpeljan razred. Hierarhično dedovanje ima en osnovni razred in veliko izpeljanih razredov. Hibridno dedovanje je kombinacija večnivojskega in večstopenjskega dedovanja. Ta članek opisuje razliko med večstopenjskim dedovanjem in večnivojskim dedovanjem. Razlika med večnivojskim dedovanjem in dedovanjem na več ravneh je, da je večnivojsko dedovanje, ko razred deduje od številnih osnovnih razredov, medtem ko je večnivojsko dedovanje, ko razred deduje iz izpeljanega razreda, zaradi česar je ta izpeljani razred osnovni razred za nov razred. Večnivojsko dedovanje se pogosto uporablja kot večkratno dedovanje.
Prenesite PDF Multiple vs Multilevel Inheritance
Lahko prenesete PDF različico tega članka in jo uporabite za namene brez povezave v skladu z opombo o citiranju. Prosimo, prenesite PDF različico tukaj Razlika med večstopenjskim dedovanjem