Razlika med polimorfizmom in dedovanjem v OOP

Ključna razlika - polimorfizem proti dedovanju v OOP
 

Objektno usmerjeno programiranje (OOP) se običajno uporablja za razvoj programske opreme. Številni programski jeziki podpirajo objektno usmerjeno programiranje. Objektno usmerjeno programiranje je metodologija oblikovanja programa z uporabo razredov in predmetov. Razred 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 enkapsulacija. Ta članek govori o razliki med polimorfizmom in dedovanjem v OOP. The ključna razlika med polimorfizmom in dedovanjem v OOP je to Polimorfizem je sposobnost objekta, da se vede na več načinov, dedovanje pa je ustvarjanje novega razreda z uporabo lastnosti in metod obstoječega razreda.

VSEBINA

1. Pregled in ključne razlike
2. Kaj je polimorfizem v OOP
3. Kaj je dedovanje v OOP
4. Podobnosti polimorfizma in dedovanja v OOP
5. Primerjava ob strani - Polimorfizem in dedovanje v OOP v tabeli
6. Povzetek

Kaj je polimorfizem v OOP?

Polimorfizem je označevanje več oblik. En predmet ima lahko več vedenj. Polimorfizem lahko razdelimo v dve kategoriji. Preobremenjujejo in pretiravajo.

Preobremenitev

Glejte spodnji program, napisan v Javi.

Slika 01: Preobremenitev

Po zgornjem programu se ustvari objekt tipa A. Ko kličete obj.sum (); bo dal rezultat, povezan z metodo sum (). Ko kličete obj.sum (2,3); bo dal rezultat, ki se nanaša na vsoto (int a, int b). Opazimo lahko, da ima isti predmet različna vedenja glede na situacijo. Kadar obstaja več metod z istim imenom, vendar z različnimi parametri, je znano kot preobremenjenost. Znan je tudi kot statična vezava ali sestaviti časovni polimorfizem.

Prevladujoče

Druga vrsta polimorfizma je premoč. Glejte spodnji program, napisan v Javi.

Slika 02: Prevladovanje

Glede na zgornji program obstaja prikaz metode () v razredu A. Razred B sega od razreda A. Zato so vse metode v razredu A dostopne v razredu B. To je dedovanje. Koncept dedovanja je opisan pozneje.

Razred B ima tudi prikaz iste metode (). Pri ustvarjanju predmeta tipa A in klicne metode prikaza bo izhod prikazan B. Metoda prikaza razreda razreda A je razveljavljena s prikazno metodo razreda B. Torej, izhod je B.

Če obstajajo metode z istim imenom in enakimi parametri, vendar v dveh različnih razredih in so povezane z dedovanjem, je znano kot prevladovanje. Znan je tudi kot Pozno vezavo, dinamična vezava, polimorfizem izvajanja. Preobremenjenost in pretiravanje imenujemo polimorfizem. To je glavni koncept objektno usmerjenega programiranja.

Kaj je dedovanje v OOP?

Glejte spodnji program, napisan v Javi.

Slika 03: Primer dedovanja

V skladu z zgornjim programom ima razred A vsoto metode (), razred B pa metodo sub ().

Metodo vsote () razreda A lahko uporabimo v razredu B s ključno besedo razširitev. Ponovna uporaba lastnosti in metod v obstoječem razredu za ustvarjanje novega razreda je znana kot Inheritance. Tudi v razredu B ni metode sum (); je podedovana iz razreda A. Dedovanje je uporabno za ponovno uporabo kode. Starejši razred se imenuje osnovni razred, superrazred ali matični razred. Izvedeni razred se imenuje podrazred ali otroški razred.

Vrste dedovanja

Obstajajo različne vrste dedovanja. Gre za enostopenjsko dedovanje, večstopenjsko dedovanje, več dedovanje, hierarhično dedovanje in hibridno dedovanje.

Enkratna dednost

V enojnem dedovanju obstaja en super razred in en podklas. Če je razred A super razred, razred B pa podrazred, so vse lastnosti in metode razreda A dostopne v razredu B. Obstaja le ena raven; zato se imenuje kot enostopenjsko dedovanje.

Dvigovanje na več ravneh

V večstopenjskem dedovanju so tri stopnje razredov. Vmesni razred podeduje od super razreda. Podvrst podeduje od vmesnega razreda. Če obstajajo trije razredi, so A, B in C in A super razred, B pa vmesni razred. Potem B podeduje od A in C podeduje od B, gre za dedovanje na več ravneh.

Večkratna dednost

V Multiple Inheritance obstaja veliko super razredov in en podklasa. Če obstajajo trije super razredi, ki jih imenujemo A, B, C in D, je podklasa, potem lahko razred D podeduje od A, B in C. V programskem jeziku C ++ je podprto večkratno dedovanje. Ni podprta v programskih jezikih, kot sta Java ali C #. Vmesniki se uporabljajo za izvajanje večkratnega dedovanja v teh jezikih.

Hierarhična dednost

Če obstajajo razredi, ki se imenujejo A kot super razredi in B, C so podklasi, lahko ti podrazredi podedujejo lastnosti in metode razreda A. Ta vrsta dedovanja je znana kot Hierarhična dedovanje.

Hibridna dediščina

Obstaja še ena posebna vrsta dedovanja, ki je znana kot hibridno dedovanje. Gre za kombinacijo večstopenjskih in večkratnih dedovanj. Če so A, B, C in D razredi in B deduje od A in D deduje od B in C, potem je to 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?

Polimorfizem proti dedovanju v OOP

Polimorfizem je sposobnost predmeta, da se vede na več načinov. Dedovanje je ustvariti nov razred z uporabo lastnosti in metod obstoječega razreda.
 Uporaba
Polimorfizem se uporablja za predmete, ki kličejo, katere metode so v času prevajanja in času izvajanja. Dedovanje se uporablja za ponovno uporabo kode.
Izvajanje
Polimorfizem izvajamo v metodah. Dedovanje se izvaja v razredih.
 Kategorije
Polimorfizem lahko razdelimo na preobremenitve in prenajedanje. Dedovanje lahko razdelimo na enostopenjsko, večstopenjsko, hierarhično, hibridno in večkratno dedovanje.

Povzetek - Polimorfizem proti dedovanju v OOP 

Polimorfizem in dedovanje sta glavna koncepta objektno usmerjenega programiranja. Razlika med polimorfizmom in dedovanjem v OOP je, da je polimorfizem običajen vmesnik v več oblik, in dedovanje je ustvarjanje novega razreda z uporabo lastnosti in metod obstoječega razreda. Oba koncepta se pogosto uporabljata pri razvoju programske opreme.

Prenesite PDF Polimorfizem proti dedovanju v OOP

Lahko prenesete PDF različico tega članka in jo uporabljate za namene brez povezave, kot je navedeno v navodilu. Prenesite PDF različico tukaj Razlika med polimorfizmom in dedovanjem v OOP

Referenca:
  1. 8.3 Kaj je dedovanje v Javi | Predavanje | Vadnica, Telusko učenje, 15. maj 2014. Na voljo tukaj  
  2. Polimorfizem v vadbi Java, Telusko učenje, 15. maj 2014. Na voljo tukaj