Ključna razlika - polimorfizem vs dedovanjem v OOP
Objektno usmerjeno programiranje (OOP) se običajno uporablja za razvoj programske opreme. Številni programski jeziki podpirajo objektno usmerjeno programiranje. Predmetno usmerjeno programiranje je metodologija za načrtovanje programa z uporabo razredov in predmetov. Predavanje v OOP je načrt za ustvarjanje predmeta. Razred ima lastnosti in metode. Predmet je primerek razreda. OOP vsebuje štiri stebre, kot so dedovanje, polimorfizem, abstrakcija in kapsulacija. Ta članek obravnava razliko med polimorfizmom in dedovanjem v OOP. Ključna razlika med polimorfizmom in dedovanjem v OOP je ta, da je polimorfizem sposobnost predmeta, da se vede na več načinov, in dedovanje je ustvariti nov razred z lastnostmi in metodami obstoječega razreda.
VSEBINA
1. Pregled in ključna razlika
2. Kaj je polimorfizem v OOP
3. Kaj je dedovanje v OOP
4. Podobnosti med polimorfizmom in dedovanjem v OOP
5. Vzporedna primerjava - Polimorfizem in dedovanje v OOP v tabelarni obliki
6. Povzetek
Kaj je polimorfizem v OOP?
Polimorfizem pomeni več oblik. En predmet ima lahko več vedenj. Polimorfizem lahko razdelimo v dve kategoriji. Preobremenjujejo in prevladajo.
Preobremenitev
Oglejte si spodnji program, napisan v Javi.
Slika 01: Preobremenitev
V skladu z zgornjim programom se ustvari objekt tipa A. Med klicem obj.sum (); dal bo rezultat, povezan z metodo sum (). Pri klicanju obj.sum (2,3); dal bo rezultat, povezan s vsoto (int a, int b). Opazimo lahko, da ima isti predmet različno vedenje, odvisno od situacije. Če obstaja več metod z istim imenom, vendar z različnimi parametri, je to znano kot preobremenitev. Znan je tudi kot statični polimorfizem vezave ali prevajanja.
Preglasitev
Druga vrsta polimorfizma je prevladujoča. Oglejte si spodnji program, napisan v Javi.
Slika 02: Preglasitev
V skladu z zgornjim programom obstaja metoda display () v razredu A. Razred B se razteza od razreda A. Zato je do vseh metod v razredu A dostopen razred B. Je dedovanje. Koncept dedovanja je opisan kasneje.
Razred B ima tudi prikaz iste metode (). Ko ustvarite objekt vrste A in pokličete prikazno metodo, bo rezultat dal B. Metoda prikaza razreda A preglasi metoda prikaza razreda B. Torej, izhod je B.
Ko obstajajo metode z istim imenom in enakimi parametri, vendar v dveh različnih razredih in so povezane z dedovanjem, je to znano kot preglasitev. Znan je tudi kot pozna vezava, dinamična vezava, polimorfizem med izvajanjem. Preobremenitev in razveljavitev se imenujejo polimorfizem. To je glavni koncept objektno usmerjenega programiranja.
Kaj je dedovanje v OOP?
Oglejte si spodnji program, napisan v Javi.
Slika 03: Primer dedovanja
V skladu z zgornjim programom ima razred A metodo sum (), razred B pa metodo sub ().
Metodo sum () razreda A lahko uporabimo v razredu B z uporabo ključne besede extension. Ponovna uporaba lastnosti in metod v obstoječem razredu za ustvarjanje novega razreda je znana kot dedovanje. Tudi v razredu B ni metode sum (); podedovan je iz razreda A. Dedovanje je koristno za večkratno uporabo kode. Starejši razred se imenuje osnovni razred, superrazred ali nadrejeni razred. Izpeljani razred se imenuje podrazred ali podrejeni razred.
Vrste dedovanja
Obstajajo različne vrste dedovanja. Gre za enostopenjsko dedovanje, večstopenjsko dedovanje, več dedovanje, hierarhično dedovanje in hibridno dedovanje.
Enkratno dedovanje
V Single Enheritance obstaja en super razred in en podrazred. Če je razred A super razred in razred B podrazred, je razred B dostopen do vseh lastnosti in metod razreda A. Obstaja samo ena raven; zato se imenuje kot enostopenjsko dedovanje.
Večstopenjsko dedovanje
Pri večstopenjskem dedovanju obstajajo tri stopnje razredov. Vmesni razred podeduje iz super razreda. Podrazred podeduje od vmesnega razreda. Če obstajajo trije razredi, kot so A, B in C in A je super razred, B pa vmesni razred. Potem B podeduje od A in C od B, je večnivojska dediščina.
Večkratno dedovanje
V Multiple Inheritance obstaja veliko super razredov in en podrazred. Če obstajajo trije super razredi, imenovani A, B, C in D je podrazred, potem lahko razred D podeduje od A, B in C. V programskem jeziku C ++ je podprto večkratno dedovanje. Ni podprt v programskih jezikih, kot sta Java ali C #. Vmesniki se uporabljajo za izvajanje Multiple Inheritance v teh jezikih.
Hierarhično dedovanje
Če obstajajo razredi, imenovani A kot super razredi, in B, C so podrazredi, lahko ti podrazredi podedujejo lastnosti in metode razreda A. Ta vrsta dedovanja je znana kot Hierarchical Inheritance.
Hibridno dedovanje
Obstaja še ena posebna vrsta dedovanja, ki je znana kot hibridno dedovanje. Je kombinacija večnivojske in več dediščin. Če so A, B, C in D razredi in B deduje od A in D deduje od B in C, potem gre za hibridno dedovanje.
Kakšne so podobnosti med polimorfizmom in dedovanjem v OOP?
Oba sta koncepta objektno usmerjenega programiranja
Kakšna je razlika med polimorfizmom in dedovanjem v OOP?
Diff Article Sredina pred mizo
Polimorfizem vs dedovanjem v OOP |
|
Polimorfizem je sposobnost predmeta, da se vede na več načinov. | Dedovanje je ustvarjanje novega razreda z uporabo lastnosti in metod obstoječega razreda. |
Uporaba | |
Polimorfizem se uporablja za predmete, ki pokličejo katero obliko metod med prevajanjem in izvajanjem. | Dedovanje se uporablja za ponovno uporabo kode. |
Izvajanje | |
Polimorfizem se izvaja v metodah. | Dedovanje se izvaja v razredih. |
Kategorije | |
Polimorfizem lahko razdelimo na preobremenitev in prevlado. | Dedovanje lahko razdelimo na enostopenjsko, večnivojsko, hierarhično, hibridno in večkratno dedovanje. |
Povzetek - Polimorfizem vs dedovanjem v OOP
Polimorfizem in dedovanje sta glavna pojma objektno usmerjenega programiranja. Razlika med polimorfizmom in dedovanjem v OOP je v tem, da je polimorfizem pogost vmesnik več oblik in je dedovanje ustvarjanje novega razreda z uporabo lastnosti in metod obstoječega razreda. Oba koncepta se pogosto uporabljata pri razvoju programske opreme.
Prenesite PDF Polimorfizem vs dedovanjem v OOP
Lahko prenesete različico tega članka v obliki PDF in jo uporabite za uporabo brez povezave, kot je navedeno v opombi. Prenesite različico PDF tukaj Razlika med polimorfizmom in dedovanjem v OOP