Tofauti Kati Ya Urithi na Utunzi

Tofauti Kati Ya Urithi na Utunzi
Tofauti Kati Ya Urithi na Utunzi

Video: Tofauti Kati Ya Urithi na Utunzi

Video: Tofauti Kati Ya Urithi na Utunzi
Video: Личная безопасность и защита аккаунта: как авторам предупреждать угрозы и отвечать на них 2024, Julai
Anonim

Urithi dhidi ya Muundo

Urithi na Muundo ni dhana mbili muhimu zinazopatikana katika OOP (Upangaji Unaozingatia Kipengele). Kwa maneno rahisi, Muundo na Urithi hushughulika na kutoa sifa 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, Muundo 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.

Utunzi ni nini?

Mtungo ni uwezo wa darasa kujumuisha vipengee 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. Muundo pia unajulikana kama Containership. Katika mfano huu, inaweza kusemwa kwamba darasa A linaundwa na darasa B. Katika OOP, Utunzi unawakilisha 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).

Kuna tofauti gani kati ya Urithi na Utunzi?

Ingawa Urithi na Muundo ni dhana mbili za OOP, ni tofauti kabisa katika yale ambayo huruhusu mtayarishaji programu kutimiza. Urithi ni uwezo wa darasa kurithi mali na tabia kutoka kwa darasa la mzazi kwa kuipanua, ilhali Muundo 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 Utunzi unawakilisha uhusiano wa "ina-a".

Ilipendekeza: