Viena mantojums salīdzinājumā ar daudzkārtīgu mantojumu

Autors: Laura McKinney
Radīšanas Datums: 4 Aprīlis 2021
Atjaunināšanas Datums: 16 Maijs 2024
Anonim
Viena mantojums salīdzinājumā ar daudzkārtīgu mantojumu - Cits
Viena mantojums salīdzinājumā ar daudzkārtīgu mantojumu - Cits

Saturs

Galvenā atšķirība starp vienu mantojumu un vairākiem mantojumiem ir tā, ka vienā mantojumā atvasinātā klase manto tikai vienu pamatklases klasi, turpretī vairāku mantojumu gadījumā atvasinātā klase manto vairāk nekā vienu bāzes klasi.


Mantojums ir viens no vissvarīgākajiem jēdzieniem OOP, kas ir uz objektu orientēta programmēšana. Mantojumā tiek atbalstīta atkārtotas izmantojamības koncepcija. Atkārtojamība nozīmē, ka jauna klase atkārtoti izmanto jau esošās klases īpašības. Ja mantojumā iegūtā klase manto pamatklases un piekļuves tiesības, specifikators nolemj, kurš pamatklases loceklis tiks mantots. Ir mantojuma veidi, kas ir viens mantojums, hierarhiska mantošana, daudzlīmeņu mantojums un hibrīda mantojums. Viena mantojuma gadījumā atvasinātā klase manto tikai vienu bāzes klasi, turpretī vairāku mantojumu gadījumā atvasinātā klase manto vairāk nekā vienu pamatklasi.

Ir tikai viena atvasināta klase, kas tiek mantota no bāzes klases. Ir trīs veidi, kā mantot pamatklases, kas ir publiska, aizsargāta un privāta. Piekļuves specifikators tiek izmantots, lai mantotu bāzes klasi. Vienreizējas mantošanas iemesls ir īpašību un izturēšanās pārmantošana no viena vecāka klases. Objektorientētās programmēšanas galvenais mērķis, kas ir koda atkārtota izmantojamība, tiek izpildīts, izmantojot vienu mantojumu. Ja mēs runājam par vienu mantojumu, salīdzinot ar vairākkārtēju mantojumu, tad vienkāršāka ir viena mantojuma mantošana, salīdzinot ar vairāku mantojumu. Atsevišķā mantojumā tiek izmantots funkciju pārsvars. Izpildes laika polimorfisms ir pazīstams kā sevišķi svarīgs. Pārvarēšana tiek panākta, izmantojot funkcijas atslēgvārdu, kas ir virtuāls. Šis atslēgvārds tiek izmantots pamatklasē. Ja atvasinātā klase atkārtoti definē funkciju, ignorēto funkciju nevar mainīt. C ++ ignorēšana nosaka, kura funkcijas versija tiek izsaukta. Atsevišķu mantojumu izmanto C ++, Java, PHP, C # un vizuālajā bāzē.


Vairāki mantojumi ļauj iegūt vairāk nekā vienu pamatklasi, tas nozīmē, ka jūs varat iegūt vairāk nekā vienas pamatklases īpašības. Mums var būt viena atvasināta klase un vairākas bāzes klases. Pamatklase tiek mantota, pieminot atsevišķu piekļuves specifikatoru. Daudzkārtējai mantošanai ir simetriska apvienošanās un asimetriska pagarināšana. Ja ir adaptera modelis, tiek izmantota vairākas mantošanas iespējas. Vairāku mantojumu lieto C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Kodu ieviešana vairākiem mantojumiem ir sarežģīta, salīdzinot ar vienu mantojumu.

Saturs: Atšķirība starp vienu mantojumu un daudzkārtīgu mantojumu

  • Salīdzināšanas tabula
  • Viena mantojums
  • Vairāki mantojumi
  • Galvenās atšķirības
  • Secinājums
  • Paskaidrojošs video

Salīdzināšanas tabula

PamatsViena mantojumsVairāki mantojumi
Nozīme Atsevišķā mantojumā atvasinātā klase manto tikai vienu bāzes klasi

Vairāku mantojumu gadījumā atvasinātā klase manto vairāk nekā vienu pamatklasi.


 

DrošiViena mantošana ir drošāka nekā vairākas mantošanasVairāku mantojumu nav droši īstenot
PiekļuveAtsevišķā mantojumā tiek pārmantotas vienas klases pazīmesVairāku mantojumu gadījumā var mantot vairāku klašu pazīmes
Runtime Viena mantojuma iegūšanai ir nepieciešams ilgāks izpildes laiksVairākkārtējai mantošanai ir nepieciešams mazāks izpildes laiks

Viena mantojums

Ir tikai viena atvasināta klase, kas tiek mantota no bāzes klases. Ir trīs veidi, kā mantot pamatklases, kas ir publiska, aizsargāta un privāta. Piekļuves specifikators tiek izmantots, lai mantotu bāzes klasi. Vienreizējas mantošanas iemesls ir īpašību un izturēšanās pārmantošana no viena vecāka klases. Objektorientētās programmēšanas galvenais mērķis, kas ir koda atkārtota izmantojamība, tiek izpildīts, izmantojot vienu mantojumu. Ja mēs runājam par vienu mantojumu, salīdzinot ar vairākiem mantojumiem, tad vienkāršākam mantojumam ir jābūt mantojumam, salīdzinot ar vairākiem mantojumiem. Atsevišķā mantojumā tiek izmantots funkciju pārsvars. Darbības laika polimorfisms ir pazīstams kā sevišķi svarīgs. Pārvarēšana tiek panākta, izmantojot funkcijas atslēgvārdu, kas ir virtuāls. Šis atslēgvārds tiek izmantots pamatklasē. Ja atvasinātā klase atkārtoti definē funkciju, ignorēto funkciju nevar mainīt. C ++ ignorēšana nosaka, kura funkcijas versija tiek izsaukta. Atsevišķu mantojumu izmanto C ++, Java, PHP, C # un vizuālajā bāzē.

Vairāki mantojumi

Vairāki mantojumi ļauj iegūt vairāk nekā vienu pamatklasi, tas nozīmē, ka jūs varat iegūt vairāk nekā vienas pamatklases īpašības. Mums var būt viena atvasināta klase un vairākas bāzes klases. Pamatklase tiek mantota, pieminot atsevišķu piekļuves specifikatoru. Vairākiem mantojumiem ir simetriska apvienošanās un asimetriska pagarināšana. Kad ir adaptera modelis, tiek izmantoti vairāki mantojumi. Vairāki mantojumi tiek izmantoti C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Kodu ieviešana vairākiem mantojumiem ir sarežģīta, salīdzinot ar vienu mantojumu.

Galvenās atšķirības

  1. Viena mantojuma gadījumā atvasinātā klase manto tikai vienu bāzes klasi, turpretī vairāku mantojumu gadījumā atvasinātā klase manto vairāk nekā vienu pamatklasi.
  2. Viena mantošana ir drošāka nekā vairākas mantošanas, turpretī vairākus mantojumus nav droši īstenot.
  3. Atsevišķā mantojumā vienas klases pazīmes tiek mantotas, turpretī vairāku mantojumu gadījumos var mantot vairāku klašu pazīmes.
  4. Viena mantojuma iegūšanai ir nepieciešams ilgāks izpildes laiks, turpretim vairākiem mantojumiem ir nepieciešams mazāks izpildes laiks

Secinājums

Iepriekš šajā rakstā mēs redzam skaidru atšķirību starp mantojumu no viena un vairākiem mantojumiem ar ieviešanu

Paskaidrojošs video