Tofauti Muhimu – Ujumlisho dhidi ya Muundo
Upangaji Unaolenga Kipengele (OOP) ni dhana ya kawaida katika uundaji wa programu. Kitu ni mfano wa darasa. Haiwezekani kuunda vitu mara moja. Lazima kuwe na mchoro au maelezo ili kuunda kitu. Mchoro huo unajulikana kama darasa. Darasa lina mali na njia. Vitu vinaundwa kwa kutumia madarasa. Darasa na kitu ni sawa na mpango na nyumba katika ulimwengu wa kweli. Haiwezekani kujenga nyumba bila mpango sahihi. Vivyo hivyo, darasa hutumiwa kuunda kitu. Kitu hushirikiana na vitu vingine. Kiunga na huwakilisha uhusiano wa vitu viwili au zaidi huitwa "chama". Ujumlisho na utunzi ni aina za miungano. Wanaelezea uhusiano kati ya madarasa. Nakala hii inajadili tofauti kati ya mkusanyiko na utunzi. Tofauti kuu kati ya ujumlishaji na utungaji ni kwamba ujumlishaji ni uhusiano kati ya vitu viwili vinavyoelezea uhusiano wa "ina" na utungaji ni aina mahususi zaidi ya ujumlishaji inayoashiria umiliki.
Ujumlisho ni nini?
Uhusiano kati ya vitu viwili unaonyeshwa kwa kuchora mstari katika Lugha Iliyounganishwa ya Kuiga (UML). Kiungo ni muungano. UML husaidia kupata uwakilishi wa kuona wa mfumo. Ni tofauti na lugha za kawaida za programu. Chama pia hufafanua wingi wa vitu. Wao ni mmoja-kwa-mmoja, mmoja-kwa-wengi na wengi-kwa-wengi. Wakati kitu kimoja cha darasa A kinahusishwa na kitu kimoja cha darasa B, huo ni uhusiano wa moja kwa moja. Mfano ni mwandishi kuandika kitabu. Katika mfano huo, mwandishi mmoja anaandika kitabu.
Kitu kimoja cha daraja A kinapohusishwa na vitu vingi vya daraja B, ni uhusiano wa mtu mmoja na wengi. Mfano ni, idara inaweza kuwa na wafanyakazi wengi. Wakati kitu cha darasa A kinahusishwa na vitu vingi vya darasa B na kitu cha darasa B kinahusishwa na vitu vingi vya darasa A, ni ushirikiano wa wengi hadi wengi. Mfano mmoja ni, mfanyakazi anaweza kufanya kazi kwenye miradi mingi na mradi unaweza kuwa na wafanyikazi wengi.
Ujumlisho ni aina ya uhusiano unaofafanua zaidi uhusiano kati ya vitu. Ujumlisho unaelezea uhusiano wa "ina". Baadhi ya mifano inayoelezea uhusiano huo ni, mwanafunzi "ana" kitambulisho cha mwanafunzi, gari "lina injini". Inawezekana pia kupanua kiasi kikubwa na uhusiano. Baadhi ya mifano ni, benki "ina akaunti nyingi" za benki, darasa "lina wanafunzi wengi". Inaweza kuelezwa kwa kutumia mfano ulio hapa chini.
Kielelezo 01: Ujumlisho
Kulingana na mfano ulio hapo juu, darasa linajumuisha mwanafunzi au wanafunzi wengi. Msururu pia hutumika kuonyesha idadi ya vitu. Inaeleza kuwa darasa moja lina wanafunzi wengi. Alama ya almasi inawakilisha mkusanyiko katika UML. Vitu vya wanafunzi havitegemei kitu cha darasa. Ikiwa kitu cha darasa kitaharibiwa, haitaathiri vitu vya mwanafunzi. Vipengee hivyo bado vitakuwapo.
Utunzi ni nini?
Utunzi ni aina mahususi zaidi ya kujumlisha. Inaelezea umiliki. Inaweza kuelezwa kwa kutumia mfano ulio hapa chini.
Kielelezo 02: Utunzi
Kulingana na yaliyo hapo juu, kipengele cha kitabu kina kipengee cha ukurasa au kurasa. Msururu pia hutumika kuonyesha idadi ya vitu. Inaeleza kuwa darasa moja lina wanafunzi wengi. Alama ya almasi ambayo imeangaziwa inawakilisha utunzi katika UML. Kwa vile kitabu kina ukurasa au kurasa nyingi, ni mkusanyiko, lakini kimebainishwa zaidi. Ikiwa kitu cha kitabu kimeharibiwa, basi vitu vya ukurasa pia huharibiwa. Vipengee vya ukurasa haviwezi kuwepo bila kipengee cha kitabu. Kwa hivyo, utunzi ni aina mahususi zaidi ya muunganisho unaoashiria umiliki.
Je, Kuna Ufanano Gani Kati ya Kujumlisha na Kutunga?
- Zote mbili zinatumika katika Utayarishaji Unaozingatia Kipengee.
- Zote mbili zinatumika katika Lugha Iliyounganishwa ya Kuiga (UML) ili kupata uelewaji wa mfumo unaoonekana.
Kuna tofauti gani kati ya Kujumlisha na Kutunga?
Ujumlisho dhidi ya Utunzi |
|
Ujumlisho ni uhusiano kati ya vitu viwili ambao unaelezea uhusiano wa "ina". | Utunzi ndio aina mahususi zaidi ya ujumlisho unaoashiria umiliki. |
Alama ya UML | |
Ujumlisho unaashiria almasi. | Mtungo unaashiria almasi iliyoangaziwa. |
Utendaji | |
Katika kujumlisha, ikiwa kitu kinachomiliki kitaharibiwa, haitaathiri kitu kilicho na kitu. | Katika utunzi, ikiwa kitu kinachomiliki kitaharibiwa, itaathiri kilicho na kitu. |
Muhtasari – Ujumlisho dhidi ya Utunzi
Upangaji Unaolenga Kifaa ni dhana kuu katika uundaji wa programu. Katika OOP, mfumo unafanywa kwa kutumia vitu. Vitu hivi havipo kwa kutengwa. Vitu vinashirikiana na vitu vingine. Uhusiano kati ya vitu hujulikana kama ushirika. Ujumlisho na utunzi ni aina za ushirika. Tofauti kati ya ujumlishaji na utunzi ni kwamba ujumlisho ni uhusiano kati ya vitu viwili vinavyoelezea uhusiano wa "ina" na utungaji ni aina mahususi zaidi ya ujumlisho unaoashiria umiliki. Ujumlishaji na utungaji husaidia kuelewa tabia ya mfumo.
Pakua Toleo la PDF la Kujumlisha dhidi ya Muundo
Unaweza kupakua toleo la PDF la makala haya na uitumie kwa madhumuni ya nje ya mtandao kulingana na dokezo la manukuu. Tafadhali pakua toleo la PDF hapa Tofauti Kati ya Kujumlisha na Muundo