Tofauti Muhimu – Darasa dhidi ya Kiolesura
Upangaji Unaoelekezwa na Kitu(OOP) ni dhana ya kawaida katika uundaji wa programu. Inasaidia kuleta matukio ya ulimwengu halisi kwenye programu kwa kutumia madarasa na vitu. Darasa ni mchoro wa kuunda kitu. Msanidi programu anaweza kuunda darasa na mali na njia. Mwanafunzi na mwalimu ni vitu. Kuunda kitu kunajulikana kama papo hapo. OOP pia hutumia miingiliano. Maingiliano na darasa vinaweza kuonekana sawa, lakini vina tofauti. Nakala hii inajadili tofauti kati ya darasa na kiolesura. Tofauti kuu kati ya darasa na kiolesura ni kwamba darasa ni aina ya marejeleo ambayo ni mchoro wa kusisitiza kitu wakati kiolesura ni aina ya marejeleo ambayo haiwezi kutumika kusisitiza kitu.
Darasa ni nini?
Katika OOP, kila kitu kinazingatiwa kama kipengee. Haiwezekani kuunda kitu bila darasa. Darasa ni mchoro wa kuunda kitu. Wakati wa kujenga nyumba, mbunifu huchota mpango. Mpango huo ni sawa na darasa. Nyumba ni sawa na kitu. Darasa ni mpango wa kujenga kitu. Kitu ndicho kinachoundwa kwa kutumia darasa.
Darasa lina sifa na mbinu. Mwanafunzi anaweza kuwa na sifa kama vile jina, daraja, nambari ya faharasa. Mwanafunzi anaweza kuwa na mbinu kama vile kusoma, kutembea, kusoma. Darasa linaundwa likiwa na sifa na mbinu zinazohitajika.
Sintaksia ya kuunda darasa katika lugha nyingi za programu ni kama ifuatavyo. Imeundwa kwa kutumia darasa la manenomsingi.
jina_la_darasa {
// mali
//mbinu
}
Lugha za kupanga kama vile C na Java hufuata sintaksia sawa ili kuunda kitu kwa kutumia darasa. Chukulia kuwa jina la darasa ni Mwanafunzi.
Mwanafunzi s1=Mwanafunzi mpya ();
Hii s1 ndio kipengee. Neno kuu la "mpya" linatumika kutenga kumbukumbu kwa sifa. Darasa pia lina mjenzi wa kuanzisha sifa au vigeu vingine.
Washiriki wa darasa kama vile mali na mbinu wana virekebishaji vya ufikiaji. Vibainishi vya ufikiaji huelezea ufikiaji na mwonekano wa washiriki hao kwa madarasa mengine. Washiriki wa darasa wanaweza kuwa na vibainishi vya ufikiaji kama vile vya umma, vya faragha na vilivyolindwa. Wanachama wa umma wanaweza kufikiwa na madarasa mengine. Washiriki wa kibinafsi wanapatikana kwa darasa pekee. Wanachama waliolindwa wanapatikana ndani ya darasa na aina ndogo zinazofaa.
Kiolesura ni nini?
Kuondoa ni nguzo ya upangaji Wenye Malengo ya Kitu. Ni kuficha maelezo ya utekelezaji na kuonyesha utendakazi kwa mtumiaji. Uondoaji hupatikana kwa kutumia madarasa ya kufikirika na miingiliano. Mbinu ya kufikirika haina utekelezaji. Darasa ambalo lina angalau njia moja ya dhahania inaitwa darasa la kufikirika.
Kunapokuwa na madarasa mawili ya mukhtasari, mbinu zilizotangazwa katika madarasa hayo zinapaswa kutekelezwa. Darasa jipya linatumika kutekeleza njia hizo. Ikiwa madarasa yote mawili yangekuwa na njia sawa, inaweza kusababisha shida ya utata. Kwa hivyo, lugha za programu kama vile Java na C zina kiolesura.
Violesura vina utangazaji wa mbinu pekee. Hakuna mbinu ya utekelezaji. Pia, miingiliano haiwezi kutumika kuunda vitu. Zinatumika kusaidia urithi mwingi na kulinda nambari ya kuthibitisha.
Sintaksia ya Kiolesura ni kama ifuatavyo. Kiolesura tumia neno kuu “kiolesura”.
jina_la_kiolesura{
aina mbinu1(orodha_ya_kigezo);
aina mbinu2(orodha_ya_kigezo);
}
Kulingana na hapo juu, violesura vina tamko pekee. Hakuna ufafanuzi. Kwa hivyo, miingiliano haiwezi kusisitiza vitu. Inatoa tu mtazamo wa kufikirika wa kiolesura ni nini. Njia zilizotangazwa kwenye kiolesura zinaweza kutekelezwa na darasa moja au nyingi. Darasa hutumia neno kuu "tekeleza" kutekeleza kiolesura. Rejelea hapa chini mfano ulioandikwa kwa kutumia Java.
Kielelezo 01: Mpango kwa kutumia Violesura
Kulingana na programu iliyo hapo juu, A na B ni violesura. Kiolesura A kina tamko la njia ambayo ni jumla (). Kiolesura B kina njia tamko sub(). Hatari C inatekeleza violesura vyote ambavyo ni A na B. Kwa hivyo, darasa C hufafanua mbinu zote mbili za jumla () na ndogo (). Baada ya kuunda kitu cha aina C, inawezekana kupiga njia zote mbili sum() na sub().
Njia zilizotangazwa ndani ya kiolesura lazima ziwe za hadharani kila wakati kwa sababu aina za utekelezaji ndizo zinafafanua. Kiolesura kinaweza pia kurithi kutoka kwa kiolesura kingine.
Je, Kuna Ufanano Gani Kati ya Darasa na Kiolesura?
- Zote ni aina za marejeleo.
- Zote zinahusiana na Upangaji Unaolenga Kitu.
Kuna tofauti gani kati ya Darasa na Kiolesura?
Darasa dhidi ya Kiolesura |
|
Darasa ni aina ya marejeleo ambayo ni mchoro wa kuunda kitu. | Kiolesura ni aina ya marejeleo ambayo haiwezi kuthibitishwa. |
Object Instantition | |
Darasa linatumika kuanzisha kitu. | Kiolesura hakiwezi kuanzishwa kwa sababu mbinu haziwezi kutekeleza kitendo chochote. |
Mjenzi | |
Darasa lina kijenzi, ili kuanzisha vigeuzo. | Kiolesura hakina kijenzi kwa sababu si vigeuzo vyovyote vya kuanzishwa. |
Neno kuu | |
Darasa hutumia neno kuu "darasa". | Kiolesura hutumia neno msingi “kiolesura”. |
Kibainishi cha Ufikiaji | |
Washiriki wa darasa wanaweza kuwa faragha, umma na kulindwa. | Washiriki wa kiolesura wanapaswa kuwa hadharani kila wakati kwa sababu madarasa ya utekelezaji yanafafanua. |
Muhtasari – Darasa dhidi ya Kiolesura
Madarasa na violesura hutumika sana katika Utayarishaji Unaolenga Kipengee. Tofauti kati ya darasa na kiolesura ni kwamba darasa ni aina ya kumbukumbu ambayo ni mchoro wa kusisitiza kitu na kiolesura ni aina ya marejeleo ambayo haiwezi kutumika kusisitiza kitu. Darasa linaweza kutekeleza miingiliano mingi. Lakini inaweza kupanua darasa moja tu. Katika kiolesura kinaweza kurithi miingiliano mingi lakini hakuwezi kuwa na utekelezaji. Vyote viwili vina umuhimu wao. Mtengenezaji programu anaweza kuzitumia kulingana na programu inayotengeneza.
Pakua Darasa la PDF dhidi ya Kiolesura
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 Darasa na Kiolesura