Galvenā atšķirība - polimorfisms pret mantojumu OOP
Programmatūras izstrādei parasti izmanto objektorientētu programmēšanu (OOP). Daudzas programmēšanas valodas atbalsta objektorientētu programmēšanu. Objektorientētā programmēšana ir metodoloģija programmas projektēšanai, izmantojot klases un objektus. OOP klase ir objekta izveides plāns. Klasei ir īpašības un metodes. Objekts ir klases eksemplārs. OOP satur četrus pīlārus, piemēram, mantojumu, polimorfismu, abstrakciju un iekapsulēšanu. Šajā rakstā ir aplūkota atšķirība starp polimorfismu un mantojumu OOP. Galvenā atšķirība starp polimorfismu un mantojumu OOP ir tā, ka polimorfisms ir objekta spēja izturēties vairākos veidos, un mantojums ir izveidot jaunu klasi, izmantojot esošās klases īpašības un metodes.
SATURS
1. Pārskats un galvenās atšķirības
2. Kas ir polimorfisms OOP
3. Kas ir iedzimtība OOP
4. Līdzības starp polimorfismu un mantojumu OOP
5. Blakus salīdzinājums - Polimorfisms vs Mantojums OOP tabulas veidā
6. Kopsavilkums
Kas ir polimorfisms OOP?
Polimorfisms norāda uz vairākām formām. Vienam objektam var būt vairākas uzvedības. Polimorfismu var iedalīt divās kategorijās. Viņi ir pārslogoti un pārspēj.
Pārslodze
Skatiet zemāk Java valodā rakstīto programmu.
01. attēls: Pārslodze
Saskaņā ar iepriekš minēto programmu tiek izveidots A tipa objekts. Zvanot obj.sum (); tas dos rezultātu, kas saistīts ar metodi summa (). Zvanot uz 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 tādu pašu nosaukumu, bet ar dažādiem parametriem, to sauc par pārslodzi. To sauc arī par statisko saistīšanu vai kompilēšanas laika polimorfismu.
Galvenais
Cits polimorfisma veids ir svarīgāks. Skatiet zemāk Java valodā rakstīto programmu.
02. attēls: ignorēšana
Saskaņā ar iepriekš minēto programmu A klasē ir metožu displejs (). B klase pārsniedz A klasi. Tāpēc visām A klases metodēm var piekļūt B klase. Tā ir mantošana. Mantojuma jēdziens ir aprakstīts vēlāk.
Arī B klasei ir tāda pati metode (). Veidojot A tipa objektu un izsaucot displeja metodi, izeja sniegs B. A klases displeja metode tiek ignorēta ar B klases attēlošanas metodi. Tātad, izeja ir B.
Ja ir metodes ar tādu pašu nosaukumu un parametriem, bet divās dažādās klasēs, un tās ir saistītas ar mantojumu, to sauc par primāru. Tas ir pazīstams arī kā novēlota saistīšana, dinamiskā saistīšana, izpildlaika polimorfisms. Pārslodzi un nepārsniegšanu sauc par polimorfismu. Tā ir galvenā koncepcija objektorientētajā programmēšanā.
Kas ir mantošana OOP?
Skatiet zemāk Java valodā rakstīto programmu.
03. attēls: Mantojuma piemērs
Saskaņā ar iepriekš minēto programmu A klasei ir metode summa (), bet B klasei - metode sub ().
A klases sum () metodi var izmantot B klasē, izmantojot paplašināšanas atslēgvārdu. Esošās klases rekvizītu un metožu atkārtota izmantošana, lai izveidotu jaunu klasi, tiek dēvēta par Mantošanu. Pat B klasē nav sum () metodes; tas ir mantots no A klases. Mantojums ir noderīgs koda atkārtotai izmantošanai. Vecāko klasi sauc par bāzes klasi, superklasi vai vecāku klasi. Atvasināto klasi sauc par apakšklasi vai bērnu klasi.
Mantojuma veidi
Ir dažādi mantojuma veidi. Tie ir viena līmeņa mantojums, daudzlīmeņu mantojums, daudzkārtējs mantojums, hierarhisks mantojums un hibrīds mantojums.
Vienreizējs mantojums
Vienreizējā mantojumā ir viena super klase un viena apakšklase. Ja A klase ir super klase un B klase ir apakšklase, visām A klases īpašībām un metodēm var piekļūt B klase. Ir tikai viens līmenis; tāpēc to sauc par vienlīmeņa mantojumu.
Daudzlīmeņu mantojums
Daudzlīmeņu mantojumā ir trīs klases līmeņi. Starpklase manto no superklases. Apakšklase manto no starpklases. Ja ir trīs klases, jo A, B un C un A ir super klase, un B ir starpklase. Tad B pārmanto no A, bet C - no B, tas ir daudzlīmeņu mantojums.
Daudzkārtējs mantojums
Vairāku mantojumu sarakstā ir daudz 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 vairākkārtēja mantošana. Tas netiek atbalstīts programmēšanas valodās, piemēram, Java vai C #. Saskarnes tiek izmantotas vairāku mantojumu ieviešanai šajās valodās.
Hierarhiskā mantošana
Ja ir klases, kuras sauc par A kā superklases, un B, C ir apakšklases, šīs apakšklases var mantot A klases īpašības un metodes. Šāda veida mantojuma veidu sauc par hierarhisko mantojumu.
Hibrīda mantojums
Ir vēl viens īpašs mantojuma veids, kas pazīstams kā hibrīds mantojums. Tā ir vairāku līmeņu un vairāku mantojumu kombinācija. Ja A, B, C un D ir klases un B ir mantojis no A un D pārmanto gan B, gan C, tad tas ir hibrīds mantojums.
Kādas ir polimorfisma un mantojuma līdzības OOP?
Abi ir objektorientētas programmēšanas jēdzieni
Kāda ir atšķirība starp polimorfismu un mantojumu OOP?
Atšķirīgs raksts vidū pirms tabulas
Polimorfisms pret mantojumu OOP |
|
Polimorfisms ir objekta spēja izturēties vairākos veidos. | Mantošana ir jaunas klases izveide, izmantojot esošās klases īpašības un metodes. |
Lietošana | |
Polimorfismu izmanto objektiem, lai izsauktu metožu formu sastādīšanas laikā un izpildlaikā. | Mantojumu izmanto koda atkārtotai izmantošanai. |
Īstenošana | |
Polimorfisms tiek ieviests metodēs. | Mantošana tiek īstenota klasēs. |
Kategorijas | |
Polimorfismu var iedalīt pārslodzē un pārsvarā. | Mantojumu var iedalīt vienlīmeņa, daudzlīmeņu, hierarhiskā, hibrīdā un daudzkārtējā mantojumā. |
Kopsavilkums - polimorfisms pret mantojumu OOP
Polimorfisms un mantošana ir galvenie jēdzieni objektorientētajā programmēšanā. Atšķirība starp polimorfismu un mantojumu OOP ir tā, ka polimorfisms ir kopīga saskarne ar vairākām formām, un mantojums ir jaunas klases izveidošana, izmantojot esošās klases īpašības un metodes. Abi jēdzieni tiek plaši izmantoti programmatūras izstrādē.
Lejupielādējiet PDF polimorfismu pret mantojumu OOP
Jūs varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistes vajadzībām, kā norādīts piezīmē. Lūdzu, lejupielādējiet PDF versiju šeit Starpība starp polimorfismu un mantojumu OOP