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ā.
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ā.
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ā.
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