Atšķirība starp OOP polimorfismu un iedzimtību

Satura rādītājs:

Atšķirība starp OOP polimorfismu un iedzimtību
Atšķirība starp OOP polimorfismu un iedzimtību

Video: Atšķirība starp OOP polimorfismu un iedzimtību

Video: Atšķirība starp OOP polimorfismu un iedzimtību
Video: Java Polymorphism Fully Explained In 7 Minutes 2024, Jūnijs
Anonim

Galvenā atšķirība - polimorfisms pret iedzimtību OOP

Objektorientētā programmēšana (OOP) parasti tiek izmantota programmatūras izstrādei. Daudzas programmēšanas valodas atbalsta objektorientētu programmēšanu. Objektorientētā programmēšana ir metodika, lai izstrādātu programmu, izmantojot klases un objektus. Klase OOP ir priekšmets objekta izveidei. Klasei ir īpašības un metodes. Objekts ir klases gadījums. OOP ir četri pīlāri, piemēram, mantošana, polimorfisms, abstrakcija un iekapsulēšana. Šajā rakstā ir apskatīta atšķirība starp OOP polimorfismu un iedzimtību. Galvenā atšķirība starp polimorfismu un pārmantošanu OOP ir tāda, ka polimorfisms ir objekta spēja rīkoties vairākos veidos, un mantošana ir jaunas klases izveide, izmantojot esošās klases īpašības un metodes.

Kas ir OOP polimorfisms?

Polimorfisms ir norādīt vairākas formas. Vienam objektam var būt vairākas darbības. Polimorfismu var iedalīt divās kategorijās. Tie ir pārslogoti un pārāki.

Pārslodze

Skatiet tālāk norādīto programmu, kas rakstīta Java valodā.

Atšķirība starp polimorfismu un pārmantošanu OOP
Atšķirība starp polimorfismu un pārmantošanu OOP

Attēls 01: Pārslodze

Saskaņā ar augstāk minēto programmu tiek izveidots A tipa objekts. Izsaucot obj.sum(); tas dos izvadi, kas saistīta ar metodi sum (). Izsaucot obj.sum(2, 3); tas dos rezultātu, kas saistīts ar summu (int a, int b). Var novērot, ka vienam un tam pašam objektam ir atšķirīga uzvedība atkarībā no situācijas. Ja ir vairākas metodes ar vienādu nosaukumu, bet ar dažādiem parametriem, to sauc par pārslodzi. To sauc arī par statisko saistīšanu vai kompilēšanas laika polimorfismu.

Ievērošana

Cits polimorfisma veids ir svarīgāks. Skatiet tālāk norādīto programmu, kas rakstīta Java valodā.

Atšķirība starp polimorfismu un iedzimtību OOP_attēlā 02
Atšķirība starp polimorfismu un iedzimtību OOP_attēlā 02

2. attēls: ignorēšana

Saskaņā ar iepriekšminēto programmu A klasē ir metode display(). B klase sniedzas no klases A. Tāpēc visas A klases metodes ir pieejamas B klasei. Tā ir mantošana. Mantojuma jēdziens ir sīkāk aprakstīts vēlāk.

B klasei arī ir tāda pati displeja metode (). Veidojot A tipa objektu un izsaucot displeja metodi, izvade dos B. A klases displeja metodi ignorē B klases displeja metode. Tātad izvade ir B.

Ja ir metodes ar tādu pašu nosaukumu un vienādiem parametriem, bet divās dažādās klasēs, un tās ir saistītas ar pārmantošanu, to sauc par ignorēšanu. To sauc arī par vēlu iesiešanu, dinamisko iesiešanu, izpildlaika polimorfismu. Pārslodzi un ignorēšanu sauc par polimorfismu. Tā ir galvenā objektorientētās programmēšanas koncepcija.

Kas ir OOP mantošana?

Skatiet tālāk norādīto programmu, kas rakstīta Java valodā.

Galvenā atšķirība starp polimorfismu un pārmantošanu OOP
Galvenā atšķirība starp polimorfismu un pārmantošanu OOP

03. attēls: mantojuma piemērs

Saskaņā ar iepriekš minēto programmu A klasei ir metode sum() un B klasei ir metode sub().

A klases metodi summa() var izmantot B klasē, izmantojot paplašināt atslēgvārdu. Rekvizītu un metožu atkārtota izmantošana esošajā klasē, lai izveidotu jaunu klasi, ir pazīstama kā Mantojums. Pat B klasē nav summas() metodes; tas ir mantots no A klases. Mantojums ir noderīgs koda atkārtotai izmantošanai. Vecāko klasi sauc par bāzes klasi, virsklasi vai vecāku klasi. Atvasināto klasi sauc par apakšklasi vai atvasināto klasi.

Mantojuma veidi

Ir dažādi mantojuma veidi. Tās ir viena līmeņa mantošana, daudzlīmeņu mantošana, vairāku līmeņu mantošana, hierarhiskā mantošana un hibrīda mantošana.

Vienreizējs mantojums

Vienajā mantojumā ir viena superklase un viena apakšklase. Ja A klase ir virsklase un B klase ir apakšklase, visas A klases īpašības un metodes ir pieejamas B klasei. Ir tikai viens līmenis; tāpēc to sauc par viena līmeņa mantojumu.

Daudzlīmeņu mantošana

Daudzlīmeņu mantojumā ir trīs klašu līmeņi. Starpklase tiek mantota no superklases. Apakšklase tiek mantota no starpklases. Ja ir trīs klases, piemēram, A, B un C, un A ir superklase un B ir starpklase. Tad B manto no A un C manto no B, tas ir daudzlīmeņu mantojums.

Daudzkārtējs mantojums

Vairākajā mantojumā ir daudzas superklases un viena apakšklase. Ja ir trīs superklases, ko sauc par A, B, C un D ir apakšklase, tad D klase var mantot no A, B un C. Programmēšanas valodā C++ tiek atbalstīta daudzkārtēja mantošana. Tas netiek atbalstīts tādās programmēšanas valodās kā Java vai C. Saskarnes tiek izmantotas vairāku mantojuma ieviešanai šajās valodās.

Hierarhiskā mantošana

Ja ir klases, ko sauc par A kā virsklases un B, C ir apakšklases, šīs apakšklases var mantot klases A īpašības un metodes. Šāda veida mantojuma veids ir pazīstams kā hierarhiskā mantošana.

Hibrīda mantošana

Ir vēl viens īpašs mantojuma veids, kas pazīstams kā hibrīda mantošana. Tā ir daudzlīmeņu un vairāku mantojuma kombinācija. Ja A, B, C un D ir klases un B manto no A un D manto gan no B, gan C, tad tā ir hibrīda mantošana.

Kādas ir OOP polimorfisma un mantojuma līdzības?

Abi ir objektorientētas programmēšanas jēdzieni

Kāda ir atšķirība starp OOP polimorfismu un iedzimtību?

OOP polimorfisms pret iedzimtību

Polimorfisms ir objekta spēja izturēties dažādos veidos. Mantojums ir jaunas klases izveide, izmantojot esošas klases rekvizītus un metodes.
Lietošana
Polimorfisms tiek izmantots objektiem, kuri izsauc kādas metodes kompilēšanas laikā un izpildlaikā. Mantojums tiek izmantots koda atkārtotai izmantošanai.
Ieviešana
Polimorfisms tiek realizēts metodēs. Mantojums tiek ieviests klasēs.
Kategorijas
Polimorfismu var iedalīt pārslodzēšanā un ignorēšanā. Mantojumu var iedalīt viena līmeņa, vairāku līmeņu, hierarhiskā, hibrīdā un daudzkārtējā mantojumā.

Kopsavilkums - polimorfisms pret iedzimtību OOP

Polimorfisms un mantošana ir galvenie objektorientētās programmēšanas jēdzieni. Atšķirība starp polimorfismu un pārmantošanu OOP ir tāda, ka polimorfisms ir kopīgs interfeiss vairākām formām, un mantojuma mērķis ir izveidot jaunu klasi, izmantojot esošās klases īpašības un metodes. Abi jēdzieni tiek plaši izmantoti programmatūras izstrādē.

Lejupielādēt PDF polimorfisms pret iedzimtību OOP

Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit Atšķirība starp polimorfismu un iedzimtību OOP

Ieteicams: