Erinevus polümorfismi ja pärandi vahel OOP-s

Peamine erinevus - polümorfism vs pärand OOP-is
 

Tarkvara arendamiseks kasutatakse tavaliselt objektorienteeritud programmeerimist (OOP). Paljud programmeerimiskeeled toetavad objektorienteeritud programmeerimist. Objektorienteeritud programmeerimine on metoodika programmi kujundamiseks klasside ja objektide abil. Klass OOP-is on objekti loomise plaan. Klassil on omadused ja meetodid. Objekt on klassi eksemplar. OOP sisaldab nelja samba nagu pärimine, polümorfism, abstraktsioon ja kapseldamine. Selles artiklis käsitletakse erinevust OOP polümorfismi ja pärimise vahel. võtme erinevus OOP polümorfismi ja pärimise vahel on see Polümorfism on objekti võime käituda mitmel viisil ja pärimine on luua uus klass, kasutades olemasoleva klassi omadusi ja meetodeid.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on OOP polümorfism?
3. Mis on pärand OOP-s?
4. OOP polümorfismi ja pärimise sarnasused
5. Kõrvuti võrdlus - polümorfism vs pärand OOP-is tabelina
6. Kokkuvõte

Mis on OOP-s polümorfism??

Polümorfism tähendab mitut vormi. Ühel objektil võib olla mitu käitumist. Polümorfismi võib jagada kahte kategooriasse. Nad on ülekoormatud ja tähtsustavad.

Ülekoormamine

Vaadake allolevat Java keeles kirjutatud programmi.

Joonis 01: ülekoormus

Ülaltoodud programmi kohaselt luuakse A-tüüpi objekt. Obj.sum () helistades; see annab meetodi summaga seotud väljundi (). Obj.sum (2,3) helistamisel; see annab summaga seotud väljundi (int a, int b). Võib täheldada, et samal objektil on olenevalt olukorrast erinev käitumisviis. Kui sama nimega, kuid erinevate parameetritega on mitu meetodit, tuntakse seda kui ülekoormamine. Seda tuntakse ka kui staatiline sidumine või koostada ajapolümorfism.

Ülimuslik

Teine polümorfismi tüüp on ülimuslik. Vaadake allolevat Java keeles kirjutatud programmi.

Joonis 02: Ülimus

Ülaltoodud programmi kohaselt on klassis A kuvatav meetod (). Klass B ulatub klassist A. Seetõttu on klassi A kõik meetodid ligipääsetavad. See on pärand. Pärimiskontseptsiooni kirjeldatakse lähemalt hiljem.

B-klassil on ka sama meetodinäidik (). A-tüüpi objekti loomisel ja helistamismeetodil annab väljund B. Klassi A kuvamismeetodi alistab B-klassi kuvamismeetod. Niisiis, väljund on B.

Kui leidub meetodeid, millel on sama nimi ja samad parameetrid, kuid kahes erinevas klassis, ja need on seotud pärimisega, nimetatakse seda ülimuslikuks. Seda tuntakse ka kui Hiline sidumine, dünaamiline sidumine, kestuspolümorfism. Ülekoormamist ja alistamist nimetatakse polümorfismiks. See on objektorienteeritud programmeerimise peamine kontseptsioon.

Mis on pärand OOP-s??

Vaadake allolevat Java keeles kirjutatud programmi.

Joonis 03: Pärandi näide

Vastavalt ülaltoodud programmile on klassil A meetodi summa () ja klassil B on meetodi alam ().

A-klassi sum () meetodit saab klassis B kasutada laiendatud märksõna abil. Olemasoleva klassi omaduste ja meetodite taaskasutamist uue klassi loomiseks nimetatakse päranduseks. Isegi klassis B pole sum () meetodit; see on päritud klassist A. Pärimine on kasulik koodi korduvkasutatavuse jaoks. Vanemat klassi kutsutakse põhiklass, superklass või vanema klass. Tuletatud klassi nimetatakse alaklass või lasteklass.

Pärimise tüübid

Pärandusi on mitmesuguseid. Need on ühetasandiline pärand, mitmetasandiline pärand, mitmekordne pärand, hierarhiline pärand ja hübriidne pärand.

Üksik pärand

Ühtses pärandis on üks superklass ja üks alamklass. Kui klass A on superklass ja klass B on alamklass, pääseb klass A juurde kõigile omadustele ja meetoditele. B-klassi on ainult üks; seetõttu nimetatakse seda ühetasandiliseks päranduseks.

Mitmetasandiline pärimine

Mitmetasandilises pärandis on klasside kolm taset. Vaheklass pärib superklassilt. Alamklass pärib keskklassist. Kui on kolm klassi nagu A, B ja C ning A on superklass ja B on vaheklass. Siis pärib B A-st ja C pärib B-st, see on mitmetasandiline pärand.

Mitu pärandit

Mitme pärimise korral on palju superklasse ja üks alamklass. Kui on kolm superklassi, milleks on A, B, C ja D on alamklass, siis võib klass D pärida A, B ja C hulgast. Programmeerimiskeeles C ++ toetatakse mitut pärandit. Programmeerimiskeeltes, nagu Java või C #, seda ei toetata. Nendes keeltes kasutatakse mitme pärimise rakendamiseks liideseid.

Hierarhiline pärimine

Kui on klassid, mida nimetatakse superklassideks A ja B, C on alamklassid, võivad need alamklassid pärida klassi A omadused ja meetodid. Sellist päranditüüpi nimetatakse hierarhiliseks pärandiks.

Hübriidne pärand

On veel üks spetsiaalne päranditüüp, mida tuntakse hübriidi pärandina. See on mitmetasandilise ja mitmekordse pärandi kombinatsioon. Kui A, B, C ja D on klassid ja B on päritav A-st ja D on päritav nii B-st kui ka C-st, siis on see hübriidne pärand.

Millised on OOP polümorfismi ja pärimise vahelised sarnasused?

  • Mõlemad on objektorienteeritud programmeerimise kontseptsioonid.

Mis vahe on OOP-s polümorfismi ja pärimise vahel??

Polümorfism vs pärimine OOP-s

Polümorfism on objekti võime käituda mitmel viisil. Pärimine on uue klassi loomine, kasutades olemasoleva klassi omadusi ja meetodeid.
 Kasutamine
Polümorfismi kasutatakse objektide jaoks, et nimetada mis tüüpi meetodeid kompileerimise ajal ja käitusel. Pärimist kasutatakse koodi korduvkasutatavuse jaoks.
Rakendamine
Polümorfismi rakendatakse meetodites. Pärimist rakendatakse klassides.
 Kategooriad
Polümorfismi võib jagada ülekoormamiseks ja ülimuslikuks. Pärandi võib jagada ühetasandiliseks, mitmetasandiliseks, hierarhiliseks, hübriidseks ja mitmeks pärimiseks.

Kokkuvõte - Polümorfism vs pärimine OOP-s 

Polümorfism ja pärimine on objektorienteeritud programmeerimise peamised mõisted. Polümorfismi ja pärandi erinevus OOP-is seisneb selles, et polümorfism on mitmete vormide ühine liides ja pärimine on uue klassi loomine, kasutades olemasoleva klassi omadusi ja meetodeid. Mõlemat mõistet kasutatakse tarkvaraarenduses laialdaselt.

Laadige alla OOP-s alla PDF-i polümorfism vs pärimine

Selle artikli PDF-versiooni saate alla laadida ja seda võrguühenduseta otstarbel kasutada tsitaatide märkuse kohaselt. Laadige alla PDF-versioon siit. Erinevus polümorfismi ja pärimise vahel OOP-is

Viide:
  1. 8.3 Mis on Java pärand | Loeng | Õpetus, Telusko õppimine, 15. mai 2014. Saadaval siin  
  2. Polümorfism Java õppes, Telusko õppimine, 15. mai 2014. Saadaval siin