Tofauti Kati ya Urithi na Uhifadhi wa Vyombo

Tofauti Kati ya Urithi na Uhifadhi wa Vyombo
Tofauti Kati ya Urithi na Uhifadhi wa Vyombo

Video: Tofauti Kati ya Urithi na Uhifadhi wa Vyombo

Video: Tofauti Kati ya Urithi na Uhifadhi wa Vyombo
Video: JINSI YA KUTENGENEZA FORONYA ZA MITO 2024, Novemba
Anonim

Urithi dhidi ya Usafirishaji wa vyombo

Urithi na Uhifadhi wa Vyombo ni dhana mbili muhimu zinazopatikana katika OOP (Mfano wa Utayarishaji Unaozingatia Kipengee: C++). Kwa maneno rahisi, Uhifadhi wa Vyombo na Urithi hushughulika na kutoa mali au tabia ya ziada kwa darasa. Urithi ni uwezo wa darasa kurithi mali na tabia kutoka kwa darasa la mzazi kwa kuipanua. Kwa upande mwingine, Uhifadhi wa vyombo ni uwezo wa darasa kuwa na vitu vya madarasa tofauti kama data ya wanachama.

Urithi ni nini?

Kama ilivyotajwa hapo juu, Urithi ni uwezo wa darasa kurithi mali na tabia kutoka kwa darasa la mzazi kwa kurefusha. Urithi kimsingi hutoa utumiaji wa msimbo kwa kuruhusu kupanua mali na tabia ya darasa lililopo kwa darasa jipya lililofafanuliwa. Darasa A likienea B, basi darasa B linaitwa darasa la wazazi (au darasa kuu) na darasa A linaitwa darasa la mtoto (au darasa linalotokana/tabaka ndogo). Katika hali hii ya mfano, darasa A litarithi sifa na mbinu zote za umma na zilizolindwa za darasa bora (B). Daraja ndogo linaweza kubatilisha kwa hiari (kutoa utendakazi mpya au uliopanuliwa kwa mbinu) tabia iliyorithiwa kutoka kwa darasa la mzazi. Urithi unawakilisha uhusiano wa "ni-a" katika OOP. Hii inamaanisha kuwa A pia ni B. Kwa maneno mengine, B inaweza kuwa darasa yenye maelezo ya jumla ya chombo fulani cha ulimwengu halisi lakini A inabainisha utaalamu fulani. Katika tatizo la upangaji la ulimwengu halisi, darasa la Mtu linaweza kupanuliwa ili kuunda darasa la Wafanyikazi. Hii inaitwa utaalamu. Lakini pia unaweza kwanza kuunda darasa la Wafanyikazi na kisha kuirejesha kwa darasa la Mtu pia (i.e. ujumla). Katika mfano huu, Mfanyakazi atakuwa na sifa na tabia zote za Mtu (yaani Mfanyakazi pia ni Mtu) na anaweza kuwa na utendaji wa ziada (kwa hivyo, Mtu si Mfanyakazi) pia.

Usafirishaji wa vyombo ni nini?

Uhifadhi wa vyombo ni uwezo wa darasa kuwa na vitu vya madarasa tofauti kama data ya wanachama. Kwa mfano, darasa A linaweza kuwa na kitu cha darasa B kama mshiriki. Hapa, mbinu zote za umma (au utendakazi) zilizofafanuliwa katika B zinaweza kutekelezwa ndani ya darasa A. Hatari A huwa chombo, huku darasa la B likiwa darasa lililomo. Usafirishaji wa vyombo pia hujulikana kama Muundo. Katika mfano huu, inaweza kusemwa kwamba darasa A linaundwa na darasa B. Katika OOP, Containership inawakilisha uhusiano wa "has-a". Ni muhimu kutambua kwamba, ingawa kontena ina ufikiaji wa kutekeleza mbinu zote za umma za darasa lililomo, haiwezi kubadilisha au kutoa utendakazi wa ziada. Linapokuja suala la shida ya programu ya ulimwengu halisi, kitu cha Kisanduku cha maandishi cha darasa kinaweza kuwa katika Fomu ya darasa, na kwa hivyo inaweza kusemwa kuwa Fomu ina Kisanduku cha maandishi (au sivyo, Fomu inaundwa na Kisanduku cha maandishi).

Tofauti kati ya Urithi na Usafirishaji wa vyombo

Ingawa Urithi na Uhifadhi wa Vyombo ni dhana mbili za OOP, ni tofauti kabisa katika kile wanachoruhusu kitengeneza programu kufikia. Urithi ni uwezo wa darasa kurithi mali na tabia kutoka kwa darasa la mzazi kwa kuipanua, wakati Uhifadhi wa vyombo ni uwezo wa darasa kuwa na vitu vya madarasa tofauti kama data ya washiriki. Darasa likipanuliwa, litarithi mali/tabia zote za umma na zinazolindwa na tabia hizo zinaweza kubatilishwa na tabaka dogo. Lakini ikiwa darasa liko kwenye lingine, kontena haipati uwezo wa kubadilisha au kuongeza tabia kwa yaliyomo. Urithi unawakilisha uhusiano wa "ni-a" katika OOP, wakati Uhifadhi wa vyombo unawakilisha uhusiano wa "has-a".

Ilipendekeza: