Miongoni mwa wasanidi programu, programu inayolenga kitu imevutia wafuasi wengi. Lugha ya kompyuta maarufu Python vile vile hufuata dhana inayolengwa na kitu.
Inashughulika na kufafanua vitu na madarasa katika Python, ambayo ni msingi wa kanuni za OOPs. Katika somo hili la "programu zenye mwelekeo wa kitu katika Python," utajifunza jinsi ya kutangaza madarasa ya Python, kuunda vitu kutoka kwao, na kutumia mbinu nne za OOPs.
Kwa hiyo, jambo la kwanza kwanza.
Utayarishaji Unaoelekezwa na Kitu ni Nini?
Lengo kuu la programu inayolenga kitu (OOP) ni kuundwa kwa "vitu". Mkusanyiko wa vigezo na vitendakazi vilivyounganishwa hutengeneza kitu.
Vigezo hivi mara nyingi hujulikana kama sifa za kitu, na tabia zake mara nyingi hujulikana kama kazi zake. Vipengee hivi vinatoa programu kwa muundo unaofaa zaidi na unaoeleweka. Gari ni mfano wa kitu.
Ikiwa gari lingekuwa bidhaa, sifa zake zingejumuisha vitu kama vile rangi, muundo, bei, chapa n.k. Zaidi ya hayo, ingeongeza kasi, kupunguza mwendo na kubadilisha gia.
Mfano mwingine: Ikiwa tunamfikiria mbwa kuwa kitu, basi baadhi ya sifa zake zinaweza kuwa rangi, kuzaliana, jina, uzito, n.k. Na atakuwa anatembea huku na huko, akibweka, akicheza n.k.
Kwa sababu inajumuisha dhana za ulimwengu halisi kama vile vitu, fiche, urithi, n.k. katika upangaji, upangaji programu unaolenga kitu unajulikana sana. Kwa sababu inafanana sana na hali halisi ya ulimwengu, taswira inafanywa rahisi.
Dhana za Kuandaa Zinazoelekezwa na Kitu
Madarasa & Vitu katika Python
Kama lugha zingine zote zinazoelekezwa na kitu, Python hukuwezesha kubuni madarasa ili kutoa vitu. Aina maarufu za data katika Python, ikiwa ni pamoja na kamba, orodha, kamusi, na vitu vingine, ni madarasa yaliyojengwa.
Darasa ni kikundi cha njia zilizounganishwa na vijiti vya mfano ambavyo hufafanua aina fulani ya kitu. Darasa linaweza kuonekana kama kielelezo au kiolezo cha kitu. Vigezo vinavyounda darasa vinajulikana kama sifa.
Kitu ni mshiriki wa darasa ambaye ana seti maalum ya sifa. Kwa sababu ya hili, idadi yoyote ya vitu inaweza kuundwa kwa kutumia darasa moja.
Madarasa ya Python hufafanuliwa kwa kutumia darasa la maneno, ambalo hufuatwa na jina la darasa na koloni. Kielelezo cha darasa la kasuku kinaweza kuwa:
Hapa, tunatangaza Parrot ya darasa tupu kwa kutumia neno kuu la darasa. Tunaunda mifano kutoka kwa madarasa. Mfano ni kitu fulani ambacho kilitengenezwa kutoka kwa darasa fulani. 'pasi' hutumiwa mara kwa mara kama kiambatisho cha msimbo ambao tunaweza kughairi utekelezaji wake kwa sasa. Tunaweza kutekeleza nambari ya Python bila kuongeza kosa kwa kutumia neno kuu la "kupita".
Mfano wa darasa husababisha kitu (mfano). Maelezo ya kitu pekee ndiyo hufafanuliwa darasa linapoundwa. Matokeo yake, hakuna hifadhi au RAM iliyotengwa.
Mfano wa kitu cha darasa la parrot ni:
Obj ni kitu cha darasa la Parrot katika mfano huu.
Wacha tuseme tunajua mahususi kuhusu parrots. Sasa tutaonyesha jinsi ya kuunda darasa la parrot na vitu vyake.
Mbinu Maalum ( __init__ )
Njia inayoitwa init inafafanua sifa ambazo kila kitu cha Parrot lazima kiwe na (). Wakati kitu kipya cha Parrot kinapoundwa, chaguo la kukokotoa __init__ huunda hali ya awali ya kitu kwa kugawa maadili tunayotoa ndani ya sifa za kitu.
Kwa hivyo, kila mfano mpya wa darasa huanzishwa kwa kutumia __init__(). Ingawa __init__() inaweza kukubali idadi yoyote ya vigezo, ubinafsi huwa ndio kigezo cha kwanza.
Rejeleo la mfano amilifu wa darasa limejumuishwa katika hoja ya kibinafsi. Kigezo cha kibinafsi, ambacho huunganisha kwa anwani ya kitu cha sasa cha darasa na hutupatia ufikiaji wa data yake (ya kitu hicho), inaashiria hiyo.
Mfano 1
Tulianzisha darasa linaloitwa Parrot katika nambari iliyo hapo juu. Ifuatayo, mali hufafanuliwa. Sifa za kitu ni sifa zake. Chaguo za kukokotoa __init__ za darasa ndipo sifa hizi zimebainishwa.
Wakati kitu kinaundwa, njia ya kianzilishi ndiyo inayoitwa mwanzoni. Kisha, matukio ya darasa la Parrot huundwa. Blaze na Wonda katika mfano huu ni marejeleo (maadili) kwa vitu vyetu vipya. __class .species huturuhusu kufikia sifa ya darasa.
Kila mfano wa darasa una sifa sawa. Sifa za mfano zinaweza pia kufikiwa kwa kutumia blaze.name na blaze.age. Matukio yote ya darasa yana sifa za kipekee za mfano, ingawa.
Mfano 2
Mbinu
Kazi zinazofafanuliwa ndani ya mwili wa darasa huitwa mbinu. Wameajiriwa kubainisha jinsi kitu kitafanya.
Njia mbili, kuimba () na ngoma, zimefafanuliwa katika programu iliyotajwa hapo juu (). Kwa sababu zimealikwa kwenye kitu cha mfano, kama vile mwali, hizi hurejelewa kama njia za mfano.
Misingi ya dhana ya OOPS
Mawazo manne ya msingi ya programu inayolenga kitu ni:
- Urithi
- Encapsulation
- Polymorphism
- Kuondoa
Urithi
Mara nyingi watu huwaambia watoto wachanga kwamba wana sura zinazofanana na za wazazi wao au kwamba wamerithi sifa fulani kutoka kwa wazazi wao.
Inawezekana kwamba umeona pia kwamba unashiriki sifa chache na wazazi wako. Hali ya ulimwengu halisi ni sawa na urithi pia.
Walakini, katika kesi hii, sifa za "madarasa ya wazazi" hupitishwa kwa "madarasa ya watoto." Vipengele hivi vinarejelewa kama "sifa" na "mbinu" katika muktadha huu.
Darasa linaweza kupata mbinu na sifa zake kutoka kwa darasa lingine kwa kutumia mbinu inayojulikana kama urithi. Urithi ni mchakato wa darasa la mtoto kupokea mali ya darasa la mzazi.
mfano:
Darasa la wazazi Binadamu hurithiwa na darasa la mtoto Kijana katika mfano hapo juu. Kwa sababu Boy anarithi kutoka kwa Mwanadamu, tunaweza kufikia mbinu na sifa zake zote tunapounda mfano wa darasa la Wavulana.
Katika darasa la Wavulana, mbinu inayoitwa schoolName pia imefafanuliwa. Kipengee cha darasa la mzazi hakiwezi kufikia mbinu ya schoolName. Mbinu ya Jina la shule inaweza, hata hivyo, kuitwa kwa kuunda kitu cha darasa la mtoto (Mvulana).
Encapsulation
Kutoa kila kigeugeu katika programu ufikiaji wa kimataifa sio hatua ya busara wakati wa kufanya kazi na madarasa na kushughulikia data nyeti.
Bila kutoa programu ufikiaji kamili wa anuwai yoyote kati ya hizo, ujumuishaji hutoa utaratibu kwa sisi kupata vigeu muhimu.
Mbinu ambazo zimefafanuliwa wazi kwa madhumuni hayo zinaweza kutumika kusasisha, kuhariri, au kufuta data kutoka kwa vigeu. Mbinu hii ya kupanga ina faida za usalama ulioimarishwa na udhibiti wa uingizaji wa data.
Tazama jinsi vigeuzo vinavyoweza kupatikana kwa haraka katika onyesho lililo hapa chini:
Polymorphism
Tuseme unatumia simu yako kuvinjari Milisho ya Instagram. Ulipopata hamu ya kusikiliza muziki fulani, ulifikia Spotify na kuanza kucheza wimbo unaoupenda.
Baada ya muda, ulipokea simu, kwa hivyo ulisimamisha chochote ulichokuwa ukifanya nyuma ili kujibu. Rafiki yako alipiga simu na akaomba umtumie nambari ya simu ya mtu fulani.
Kwa hivyo ulimtumia nambari ya simu kwa njia ya SMS na ukaendelea na kazi zako. Je, umechukua chochote? Ukiwa na kifaa kimoja tu—simu yako ya mkononi—unaweza kuvinjari mipasho, kusikiliza muziki, kupokea na kupiga simu na kutuma ujumbe.
Kwa hiyo, upolimishaji unalinganishwa na hilo. Poly ina maana nyingi, na mofu inaashiria maumbo tofauti. Kwa hiyo, upolimishaji kwa ujumla wake hurejelea kitu chenye maumbo mbalimbali.
Au "kitu" ambacho, kulingana na hali, kinaweza kuonyesha tabia mbalimbali. Katika OOPS, upolimishaji hufafanua kazi zilizo na majina sawa lakini tabia tofauti. Vinginevyo, saini tofauti ya chaguo za kukokotoa yenye jina sawa la chaguo za kukokotoa (vigezo vilivyopitishwa kwenye chaguo la kukokotoa).
mfano:
Hapa, tunaweza kutumia mnyama anayebadilika kurudia katika vitu vya Pundamilia na Sungura, kwa kutumia mbinu zao za mfano. Kwa hivyo, tabia (rangi() & anakula()) ya Pundamilia na Sungura inawakilishwa hapa na kigezo kimoja kinachoitwa mnyama. Kwa hivyo inafuata sheria za upolimishaji.
Kuondoa
Kuna uwezekano mkubwa unatumia kompyuta ya mkononi, simu au kompyuta kibao kusoma maudhui haya. Unapoisoma, labda unaandika madokezo, unasisitiza vifungu muhimu, na labda kuhifadhi habari fulani katika faili zako za kibinafsi.
Unachoweza kuona unaposoma hii ni "skrini" iliyo na data inayoonyeshwa kwako. Unaona tu vitufe vya kibodi unapoandika, ili usiwe na wasiwasi kuhusu hila za ndani kama vile jinsi kusukuma ufunguo kunaweza kusababisha neno hilo kuonekana kwenye skrini.
Vinginevyo, jinsi kubonyeza kitufe kwenye skrini yako kunaweza kuzindua kichupo kipya.
Kwa hivyo, chochote tunachoweza kuona katika hali hii ni dhahania. Tunaweza tu kuona matokeo ambayo inaunda na sio ugumu wa ndani (ambao ni muhimu kwetu).
Sawa na hii, uondoaji hufichua tu kazi ambazo kila kitu huwa nazo huku kikificha utekelezaji wowote au maelezo ya ndani.
Kusudi kuu la Abstraction ni kuficha maelezo ya usuli na utekelezaji wowote wa data ya nje ili watu waone tu kile wanachohitaji kuona. Inasaidia katika kudhibiti ugumu wa kanuni.
mfano:
Darasa la mukhtasari linalohusiana na gari lipo hapa. Kwa sababu inarithi kutoka kwa darasa la abstract ABC, ni ya kufikirika. Kwa sababu mbinu dhahania hazijafafanuliwa au hukaa tupu, Gari la darasa lina njia ya kufikirika inayoitwa no of wheels ambayo haina ufafanuzi.
Wanatarajia madarasa ambayo yanarithi madarasa ya dhahania ili kutoa utekelezaji wa njia.
Faida za dhana za OOPS
- Kwa kujumuisha, usalama wa juu na faragha ya data hupatikana.
- Kubadilika kwa kuwa na matoleo mengi ya polymorphic ya darasa moja.
- Kiwango cha juu cha utata wa msimbo kilipunguzwa kwa ufupisho.
- Badala ya kuchuja mamia ya mistari ya msimbo ili kupata tatizo moja, urekebishaji wa programu hufanya utatuzi kuwa rahisi.
- Utumiaji wa msimbo tena husababishwa na urithi wa darasa la mtoto wa mali za darasa la mzazi.
- Utatuzi mzuri wa shida unawezekana kwa sababu tunaunda madarasa ambayo hufanya vitendo muhimu kwa kila shida ndogo. Tatizo lifuatalo linaweza kutatuliwa kwa haraka zaidi kwa vile tunaweza kutumia tena madarasa hayo.
Hitimisho
Kwa kumalizia, tulijifunza kuhusu mawazo ya OOPS katika Python, dhana ya utayarishaji moto zaidi hivi sasa.
Baada ya kusoma hii, lazima uwe umegundua kuwa dhana ya OOPS inahusika kabisa na wazo la madarasa na vitu. na dhana za OOPS kama vile encapsulation, polymorphism, urithi, na abstraction.
Acha Reply