Objektorientētā programmēšana (OOP) parasti tiek izmantota programmatūras izstrādei. Daudzas programmēšanas valodas atbalsta uz objektu orientētu programmēšanu. Objektorientētā programmēšana ir metodika programmas noformēšanai, izmantojot klases un objektus. OOP klase ir objekta izveides plāns. Klasei ir īpašības un metodes. Objekts ir klases piemērs. OOP ir četri pīlāri, piemēram, mantojums, polimorfisms, abstrakcija un iekapsulēšana. Šajā rakstā ir apskatīta atšķirība starp polimorfismu un mantojumu OOP. galvenā atšķirība starp polimorfismu un mantojumu OOP ir tā Polimorfisms ir objekta spēja izturēties vairākos veidos, un mantojums ir radīt jaunu klasi, izmantojot esošās klases īpašības un metodes..
1. Pārskats un galvenās atšķirības
2. Kas ir polimorfisms OOP?
3. Kas ir mantojums OOP?
4. Līdzības starp polimorfismu un mantojumu OOP
5. Salīdzinājums blakus - polimorfisms pret mantojumu OOP tabulas formā
6. Kopsavilkums
Polimorfisms ir norādīt vairākas formas. Vienam objektam var būt dažādas uzvedības. Polimorfismu var iedalīt divās kategorijās. Viņi ir pārslogojami un pārspīlēti.
Skatiet zemāk Java rakstīto programmu.
01. attēls. Pārslodze
Saskaņā ar iepriekšminēto programmu tiek izveidots A tipa objekts. Zvanot uz obj.sum (); tas sniegs izvadi, kas saistīta ar metodes summu (). Zvanot uz obj.sum (2,3); tas sniegs iznākumu, kas saistīts ar summu (int a, int b). Var novērot, ka vienam un tam pašam objektam ir atšķirīga izturēšanās atkarībā no situācijas. Ja ir vairākas metodes ar vienu un to pašu nosaukumu, bet ar dažādiem parametriem, to sauc par pārslodze. To sauc arī par statiskā iesiešana vai sastādīt laika polimorfismu.
Cits polimorfisma veids ir pārsvarā. Skatiet zemāk Java rakstīto programmu.
02: attēls
Saskaņā ar iepriekšminēto programmu, A klasē ir metodes displejs (). B klase ir A klase. Tāpēc visas A klases metodes ir pieejamas ar B klases palīdzību. Tā ir mantošana. Mantojuma jēdziens ir aprakstīts sīkāk vēlāk.
B klasei ir arī tāds pats metodes displejs (). Izveidojot A tipa objektu un izsaucošo displeja metodi, izeja parādīs B. A klases displeja metode tiek ignorēta ar B klases displeja metodi. Tātad, izeja ir B.
Ja ir metodes ar vienādu nosaukumu un vienādiem parametriem, bet divās dažādās klasēs un ja tās ir saistītas ar mantojumu, to sauc par sevišķi svarīgu. To sauc arī par Vēla iesiešana, dinamiska iesiešana, izpildlaika polimorfisms. Pārslodzi un pārspiešanu sauc par polimorfismu. Tā ir galvenā uz objektu orientētas programmēšanas koncepcija.
Skatiet zemāk Java rakstīto programmu.
03. attēls. Mantojuma piemērs
Saskaņā ar iepriekšminēto programmu, A klasei ir metodes summa () un B klasei ir metode sub ().
B klases sum () metodi var izmantot B klasē, izmantojot paplašinātu atslēgvārdu. Īpašību un metožu atkārtota izmantošana esošajā klasē, lai izveidotu jaunu klasi, ir pazīstama kā mantojums. Pat B klasē nav sum () metodes; tas tiek mantots no A klases. Mantojums ir noderīgs koda atkārtotai izmantošanai. Vecāku klasi sauc par bāzes klase, superklase vai vecāku klase. Atvasināto klasi sauc par apakšklase vai bērnu klase.
Ir dažādi mantojuma veidi. Tās ir viena līmeņa mantojums, daudzlīmeņu mantojums, vairāku mantojumu, hierarhiskā mantojuma un hibrīda mantojums.
Vienotā mantojumā ir viena superklase un viena apakšklase. Ja A klase ir superklase 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 mantojumā ir trīs klašu līmeņi. Starpklase manto no superklases. Apakšklase manto no starpklasēm. 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, tā ir daudzlīmeņu mantojums.
Vairāku mantojumu gadījumā ir daudz superklases un viena apakšklase. Ja ir trīs superklases, kuras sauc par A, B, C un D ir apakšklase, tad D klasi var mantot no A, B un C. Programmēšanas valodā C ++ tiek atbalstīta daudzkārtēja mantošana. Tas netiek atbalstīts programmēšanas valodās, piemēram, Java vai C #. Saskarnes tiek izmantotas daudzkārtējas mantojuma ieviešanai šajās valodās.
Ja ir klases, kuras A sauc par superklases, un B, C ir apakšklases, tad šīs apakšklases var mantot A klases īpašības un metodes. Šis mantojuma tips ir pazīstams kā Hierarhiskā mantojums..
Ir vēl viens īpašs mantojuma veids, kas pazīstams kā hibrīda mantojums. Tā ir vairāku līmeņu un vairāku mantojumu kombinācija. Ja A, B, C un D ir klases un B manto no A un D manto gan no B, gan C, tad tas ir hibrīds mantojums.
Polimorfisms pret mantojumu OOP | |
Polimorfisms ir objekta spēja izturēties vairākos veidos. | Mantojums ir jaunas klases izveidošana, izmantojot esošās klases īpašības un metodes. |
Lietošana | |
Polimorfisms tiek izmantots objektiem, lai izsauktu kāda veida metodes sastādīšanas laikā un izpildlaikā. | Mantojums tiek izmantots koda atkārtotai izmantošanai. |
Īstenošana | |
Polimorfisms tiek realizēts metodēs. | Mantojums tiek realizēts klasēs. |
Kategorijas | |
Polimorfismu var iedalīt pārslodzē un svarīgumā. | Mantojumu var iedalīt viena līmeņa, daudzlīmeņu, hierarhiskā, hibrīda un vairāku mantojumu. |
Polimorfisms un mantojums ir galvenie jēdzieni uz objektu orientētā programmēšanā. Atšķirība starp polimorfismu un mantojumu OOP ir tāda, ka polimorfisms ir kopēja saskarne vairākām formām, un mantojums ir jaunas klases izveidošana, izmantojot esošās klases īpašības un metodes. Abas koncepcijas tiek plaši izmantotas programmatūras izstrādē.
Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistes vajadzībām, kā norādīts citēšanas piezīmē. Lūdzu, lejupielādējiet šeit PDF versiju. Atšķirība starp polimorfismu un mantojumu OOP