Polümorfismi Ja Pärimise Erinevus OOP-s

Sisukord:

Polümorfismi Ja Pärimise Erinevus OOP-s
Polümorfismi Ja Pärimise Erinevus OOP-s

Video: Polümorfismi Ja Pärimise Erinevus OOP-s

Video: Polümorfismi Ja Pärimise Erinevus OOP-s
Video: Refactoring to OOP in Java - Live Coding Kata "Trivia" - part 1 2024, November
Anonim

Peamine erinevus - polümorfism vs pärilikkus OOP-s

Tarkvara arendamiseks kasutatakse tavaliselt objektile suunatud programmeerimist (OOP). Paljud programmeerimiskeeled toetavad objektorienteeritud programmeerimist. Objektorienteeritud programmeerimine on metoodika programmi kujundamiseks klasside ja objektide abil. OOP-s olev klass 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 polümorfismi ja pärilikkuse vahel OOP-s. Peamine erinevus polümorfismi ja pärimise vahel OOP-s on see, et polümorfism on objekti võime käituda mitmel viisil ja pärilikkus on uue klassi loomine, kasutades olemasoleva klassi omadusi ja meetodeid.

SISU

1. Ülevaade ja peamine erinevus

2. Mis on polümorfism OOP-s

3. Mis on pärilikkus OOP-s

4. Polümorfismi ja pärilikkuse sarnasused OOP-s

5. Kõrvuti võrdlus - polümorfism vs pärilikkus OOP-s tabelina

6. Kokkuvõte

Mis on polümorfism OOP-s?

Polümorfism peab näitama mitut vormi. Ühel objektil võib olla mitu käitumist. Polümorfismi võib jagada kahte kategooriasse. Nad koormavad üle ja ületavad.

Ülekoormus

Vaadake allpool Java-s kirjutatud programmi.

Polümorfismi ja pärimise erinevus OOP-s
Polümorfismi ja pärimise erinevus OOP-s

Joonis 01: ülekoormus

Vastavalt ülaltoodud programmile luuakse A-tüüpi objekt. Kui helistate obj.sum (); see annab meetodiga seotud väljundi summa (). Helistades obj.sum (2,3); see annab summaga seotud väljundi (int a, int b). Võib täheldada, et sama objekti käitumine oleneb olukorrast erinev. Kui sama nimega, kuid erinevate parameetritega meetodeid on mitu, nimetatakse seda ülekoormuseks. Seda tuntakse ka staatilise sidumise või kompileerimisaja polümorfismina.

Ülimuslik

Teine polümorfismi tüüp on ülekaalukas. Vaadake allpool Java-s kirjutatud programmi.

Erinevus polümorfismi ja pärilikkuse vahel OOP joonisel 02
Erinevus polümorfismi ja pärilikkuse vahel OOP joonisel 02

Joonis 02: ülimuslik

Vastavalt ülaltoodud programmile on klassis A. meetodite kuvamine (). Klass B ulatub klassist A. Seetõttu on kõik klassis A olevad meetodid kättesaadavad klassi B. See on pärimine. Pärandimõistet kirjeldatakse täpsemalt hiljem.

Ka B-klassil on sama meetodi kuvamine (). A-tüüpi objekti loomisel ja kuvamismeetodi kutsumisel annab väljund B. Klass B-kuvamismeetod tühistab A-klassi kuvamismeetodi. Niisiis, väljund on B.

Kui on olemas sama nime ja parameetritega, kuid kahes erinevas klassis olevad meetodid ja need on seotud pärimisega, nimetatakse seda ülekaalukaks. Seda tuntakse ka kui hilist sidumist, dünaamilist sidumist, käituse polümorfismi. Ülekoormust ja ülekaalukust nimetatakse polümorfismiks. See on objektorienteeritud programmeerimise peamine kontseptsioon.

Mis on pärimine OOP-s?

Vaadake allpool Java-s kirjutatud programmi.

Peamine erinevus polümorfismi ja pärilikkuse vahel OOP-s
Peamine erinevus polümorfismi ja pärilikkuse vahel OOP-s

Joonis 03: Pärimise näide

Vastavalt ülaltoodud programmile on A-klassil meetod sum () ja B-klassil meetod sub ().

A-klassi meetodit sum () saab kasutada klassis B, kasutades laiendatud märksõna. Olemasoleva klassi omaduste ja meetodite taaskasutamine uue klassi loomiseks on tuntud kui Pärand. Isegi klassis B pole sum () meetodit; see on päritud klassist A. Pärand on kasulik koodi korduvkasutamiseks. Vanemat klassi nimetatakse põhiklassiks, superklassiks või lasteklassiks. Tuletatud klassi nimetatakse alaklassiks või lasteklassiks.

Pärandi tüübid

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

Ühekordne pärand

Ühekordses pärimises on üks superklass ja üks alamklass. Kui klass A on superklass ja klass B on alamklass, on kõik klassi A omadused ja meetodid ligipääsetavad klassi B. On ainult üks tase; seetõttu nimetatakse seda ühetasandiliseks pärandiks.

Mitmetasandiline pärand

Mitmetasandilises pärimises on kolm klassi. Vaheklass pärib superklassist. Alamklass pärib vaheklassist. Kui on kolm klassi, nagu A, B ja C ning A on superklass ja B on vaheklass. Siis B pärib A-lt ja C B-lt, see on mitmetasandiline pärand.

Mitmekordne pärand

Mitmekordse pärimise korral on palju superklasse ja üks alamklass. Kui on kolm superklassi, mida nimetatakse A, B, C ja D on alamklass, siis D-klass saab pärida A-lt, B-lt ja C-lt. Programmeerimiskeeles C ++ toetatakse mitut pärandit. Selliseid programmeerimiskeeli nagu Java või C # ei toetata. Liideseid kasutatakse mitmekordse pärimise rakendamiseks nendes keeltes.

Hierarhiline pärand

Kui on klassid, mida nimetatakse superklassideks ja B, C on alamklassid, võivad need alamklassid pärida klassi A omadusi ja meetodeid. Sellist päranditüüpi tuntakse hierarhilise pärandina.

Hübriidne pärand

On veel üks spetsiaalne pärimistüüp, mida nimetatakse hübriidpärandiks. See on kombinatsioon mitmetasandilisest ja mitmekordsest pärandist. Kui A, B, C ja D on klassid ja B pärib A-st ning D pärib nii B-st kui ka C-st, siis on see hübriidne pärand.

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

Mõlemad on objektorienteeritud programmeerimise mõisted

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

Erinev artikkel keskel enne tabelit

Polümorfism vs pärilikkus OOP-s

Polümorfism on objekti võime käituda mitmel viisil. Pärand on uue klassi loomine, kasutades olemasoleva klassi omadusi ja meetodeid.
Kasutamine
Polümorfismi kasutatakse objektide puhul selleks, et helistada meetodite mis vormile kompileerimise ajal ja käitamise ajal. Pärimist kasutatakse koodi korduvkasutamiseks.
Rakendamine
Polümorfismi rakendatakse meetodites. Pärandit rakendatakse klassides.
Kategooriad
Polümorfismi võib jagada ülekoormuseks ja ülekaaluliseks. Pärandit saab jagada ühetasandiliseks, mitmetasandiliseks, hierarhiliseks, hübriidseks ja mitmekordseks pärandiks.

Kokkuvõte - polümorfism vs pärilikkus OOP-s

Polümorfism ja pärimine on objektorienteeritud programmeerimise peamised mõisted. Polümorfismi ja pärilikkuse erinevus OOP-s on see, et polümorfism on ühine liides mitmele vormile ja pärilikkus on uue klassi loomine, kasutades olemasoleva klassi omadusi ja meetodeid. Mõlemat mõistet kasutatakse tarkvaraarenduses laialdaselt.

Laadige alla PDF-fail OMP-s Polümorfism vs pärilikkus

Selle artikli PDF-versiooni saate alla laadida ja kasutada võrguühenduseta eesmärkidel, nagu tsiteeritud. Laadige alla PDF-versioon siit Polümorfismi ja pärandi erinevus OOP-s

Soovitatav: