Značilnosti dedovanja programiranja, vrste, primeri

Značilnosti dedovanja programiranja, vrste, primeri

The dedovanje v programiranju objektno usmerjen To je način organiziranja predmetov v hierarhiji od najbolj splošne do najbolj specifične. To je pripomoček, ki se uporablja za razširitev razreda v drugem razredu in ohrani analogno izvedbo.

V večini razredov, orientiranih jezikov, ki temeljijo na predmetih, ki temeljijo na razredu, objekt, ustvarjen z dedovanjem, imenovanim otroški objekt, pridobi vse lastnosti in vedenja nadrejenega predmeta.

Preprost prikaz dediščine v objektni orientaciji. Vir: Pluke / CC0 Creative Commons CC0 1.0 Univerzalna javna domena

Zato je kakovost, ki predstavlja razmerje med različnimi razredi. Dedovanje omogoča, da ima en razred enako vedenje kot drug razred in razširi ali prilagodi to vedenje, da zagotovi posebne ukrepe za posebne potrebe.

Dedovanje lahko pomaga pri predstavljanju predmetov, ki imajo nekatere razlike in nekatere podobnosti v načinu njihovega dela. Vse funkcionalnosti, ki jih imajo skupni predmeti, je mogoče postaviti v osnovni razred in nato določiti enega ali več podrazred s svojo prilagojeno funkcionalnostjo.

[TOC]

Značilnosti dedovanja

Dedovanje je ena ključnih značilnosti objektno usmerjenega programiranja, ki služi za opredelitev novega razreda iz obstoječih razredov.

To pomeni, da je mogoče pridobiti nove razrede obstoječih osnovnih razredov in dodati nove funkcije. Ni vam treba pisati iz nič. Zato dedovanje omogoča enostavno ponovno uporabo obstoječe kode.

Če že imate razred, ki naredi skoraj vse, kar želite, lahko ustvarite podrazred, v katerem je del vašega vedenja delno preklican, ali pa je morda dodana kakšna nova funkcionalnost.

Izpeljani razred podeduje vse metode osnovnega razreda, razen naslednje:

Vam lahko služi: analogni računalniki: značilnosti, komponente, vrste

- Gradbeniki, uničevalci in graditelji kopij.

- Osnovni razred preobremenjeni operaterji.

- Funkcije, prijazne do osnovnega razreda.

Hierarhija

Kot družinsko drevo, dedovanje služi za oblikovanje hierarhije razredov. Pomembno je opozoriti, da bodo atributi, določeni za osnovni razred, samodejno prisotni v izpeljanem razredu. Poleg tega bodo metode za osnovni razred delovale za izvedene finančne instrumente.

Govori se, da bo razred podrazred razreda, katerega podeduje. Po drugi strani pa bo ta razred vaš superrazred. Najbolj generični razred se lahko nanaša kot na osnovni razred, saj je na dnu hierarhije.

Polimorfizem

Dedovanje je zelo priljubljeno v nekaterih jezikih s statičnimi vrstami, saj programerju omogoča, da se izogne ​​nekaterim omejitvam statične vrste.

Predmet, ki podeduje iz drugega predmeta, velja za podtip tega predmeta. Primer so lahko predmeti "inštruktor" in "študent", od katerih vsak podeduje "osebo".

Če sta inštruktor in študent ista oseba, lahko napišete funkcijo, ki sprejema tip osebe kot parameter in ki deluje v predmetih inštruktorja in študentov, ker sta oba dediča osebe.

Vrste dedovanja

Edinstvena dedovanje

Ko izpeljani razred podeduje lastnosti in vedenje enega samega razreda. To pomeni, da se en razred razširi na drug sam razred.

Dedovanje na več ravneh

Nanaša se na pripomoček, kjer lahko podedujete iz izpeljanega razreda, zaradi česar je ta izpeljani razred osnovni razred za nov razred. To pomeni, da je posledica, ko je izpeljan razred ustvarjen iz drugega izpeljanega razreda.

Vam lahko služi: von Neumann arhitektura: izvor, model, kako deluje

Hierarhična dedovanje

V tej dediščini mnogi podrazredi podedujejo iz enega razreda. To pomeni, da se zgodi, ko en sam osnovni razred podeduje več kot en izpeljan razred.

Hibridna dediščina

To je posledica dedovanja, ko se kombinira katera koli od treh prejšnjih dedov (edinstvenih, hierarhičnih in večstopenjskih).

Več dedovanja

Ustreza figuri za dediščino, ko razred podeduje več kot en superrazred. Obstoječa neprijetnost pri tej vrsti dedovanja je, da bo moral izpeljani razred obdelati odvisnost, ki jo ima z dvema osnovnima razredama.

Po drugi strani pa ta vrsta dedovanja programerjem omogoča postavitev razredov, ki združujejo vidike več razredov in njihove ustrezne hierarhije.

Vrste dedovanja iz osnovnega razreda

Javno dedovanje

Ko razred izhaja iz javnega baznega razreda, javni člani osnovnega razreda postanejo javni člani izpeljanega razreda in zaščiteni člani osnovnega razreda postanejo zaščiteni člani izpeljanega razreda.

Zasebni člani superklasa nikoli ne bodo cenovno dostopni neposredno iz izpeljanega razreda, vendar boste imeli dostop do njih prek klicev, ki jih opravljajo javnim članom in zaščiteni pred osnovnim razredom.

Zaščitena dedovanje

Ko se ustvari razred, ki podeduje iz zaščitenega superklasa, bodo tako javni člani kot zaščiteni pred tem superklasom postali zaščiteni člani izpeljanega razreda.

Zasebno dedovanje

Ko je podrazred ustvarjen iz zasebnega superklasa, bodo člani, ki so javni in zaščiteni pred tem superklasom, postali zasebni člani podrazreda.

Primeri

Primer v Pythonu

Če želite pokazati, kako deluje načelo dedovanja, roboti ali boljši razred robotov, bodo vzeti v programskem jeziku Python. Za to bo določen razred, imenovan robotmedic (Zdravnika), ki izhaja iz robotskega superklasa.

Vam lahko služi: industrijske obrate iz Perua

Če opazimo kodo razreda robotmed, je razvidno, da v tem razredu ni bil opredeljen atribut ali metoda.

Ker je robotski razred robotski podrazred, v tem primeru podeduje tako __init__ in say_hi metoda. Podedovanje teh metod pomeni, da jih je mogoče uporabiti, kot da so bile opredeljene v razredu robotmed.

Ko bo ustvarjen robotski primer, bo funkcija __init__ ustvarila tudi atribut imena. Metodo say_hi lahko uporabimo za objekt "y" robotmedic, kot je razvidno iz rezultata prejšnje kode.

Primer v c++

Razred lahko podeduje več kot en razred, kar pomeni, da lahko podeduje podatke in funkcije več superklasov. Za določitev izpeljanega razreda se za določitev osnovnih razredov uporablja seznam izpeljanih razredov.

Seznam razredov v C ++ imenuje en ali več osnovnih razredov in ima naslednji način: Razred Derced-razred: Uporabniški dostop do dostopa Osnovni razred, v katerem Uporabniški dostop do dostopa je javno, Zaščiten tudi Zasebno, in Osnovni razred Je ime predhodno definiranega razreda. Če se ne uporabljate Uporabniški dostop do dostopa, Je zaseden Zasebno privzeto.

"Obrazec" in izpeljan razred "pravokotnik" lahko štejemo za naslednji:

Ko je prejšnja koda sestavljena in izvedena, pride do naslednjega rezultata: "Skupna površina: 35".

Reference

  1. Dave Braunschweig (2020). Dedovanje in polimorfizem. Skupnost Abus. Vzeto od: Press.Avtobus.Skupnost.
  2. Tečaj Python (2020). Dedovanje. Vzeto iz: tečaja Python.EU.
  3. Mentor podatkov (2020). R dedovanje. Vzet od: Datament.Io.
  4. Točka vaj (2020). C ++ dedovanje. Vzeto iz: TourialSpoint.com.
  5. Neto informacije (2020). Različne vrste dedovanja. Vzeti iz: neto informacije.com.