M'ndandanda wazopezekamo[Bisani][Show]
Pakati pa opanga mapulogalamu, mapulogalamu otsata zinthu akopa otsatira ambiri. Python yodziwika bwino yamakompyuta imatsatiranso paradigm yolunjika pa chinthu.
Imachita ndi kufotokozera zinthu ndi makalasi mu Python, zomwe zimapanga maziko a mfundo za OOPs. Mu phunziro ili la "mapulogalamu otsata zinthu mu Python," muphunzira momwe mungalengezere makalasi a Python, kupanga zinthu kuchokera kwa iwo, ndikugwiritsa ntchito njira zinayi za OOPs.
Kotero, chinthu choyamba choyamba.
Kodi Programming Object-Oriented ndi Chiyani?
Cholinga chachikulu cha pulogalamu yotsata zinthu (OOP) ndikupanga "zinthu". Kutolere zosinthika zolumikizana ndi ntchito zimapanga chinthu.
Zosinthazi nthawi zambiri zimatchedwa mawonekedwe a chinthucho, ndipo machitidwe ake nthawi zambiri amatchedwa ntchito zake. Zinthu izi zimapereka pulogalamuyo kukhala yothandiza komanso yomveka bwino. Galimoto ndi chitsanzo cha chinthu.
Galimotoyo ikanakhala chinthu, makhalidwe ake angaphatikizepo zinthu monga mtundu wake, chitsanzo, mtengo, mtundu wake, ndi zina zotero. Kuwonjezera apo, inkathamanga, kuchepetsa, ndi kusintha magiya.
Fanizo lina: Ngati tilingalira za galu monga chinthu, ndiye kuti mikhalidwe yake ina ingakhale mtundu, mtundu, dzina, kulemera, ndi zina zotero. Ndipo angakhale akuyendayenda, kuuwa, kusewera, ndi zina zotero.
Chifukwa chakuti imaphatikizapo malingaliro enieni a dziko monga zinthu, kubisala, cholowa, ndi zina zotero mu mapulogalamu, mapulogalamu opangidwa ndi chinthu amadziwika bwino. Chifukwa ndizofanana kwambiri ndi zochitika zenizeni zapadziko lapansi, kuwonera kumakhala kosavuta.
Malingaliro a Mapulogalamu Okhazikika pa Object
Makalasi & Zinthu mu Python
Monga zilankhulo zina zonse zokhala ndi zinthu, Python imakuthandizani kuti mupange makalasi kuti mupange zinthu. Mitundu yotchuka kwambiri ya data mu Python, kuphatikiza zingwe, mindandanda, madikishonale, ndi zinthu zina, ndi makalasi omangidwa.
Gulu ndi gulu la njira zolumikizirana ndi zosintha zomwe zimatanthauzira mtundu wina wa chinthu. Kalasi ikhoza kuwonedwa ngati chitsanzo kapena template ya chinthu. Zosintha zomwe zimapanga kalasi zimadziwika kuti mawonekedwe.
Chinthu ndi membala wa kalasi yomwe ili ndi mindandanda yodziwika bwino. Pachifukwa ichi, chiwerengero chilichonse cha zinthu chikhoza kupangidwa pogwiritsa ntchito kalasi yomweyi.
Makalasi a Python amatanthauzidwa pogwiritsa ntchito mawu akuti kalasi, omwe amatsatiridwa ndi dzina la kalasi ndi colon. Chitsanzo cha gulu la parrot chingakhale:
Apa, tikulengeza za Parrot yopanda kanthu pogwiritsa ntchito mawu osakira. Timapanga zitsanzo kuchokera ku makalasi. Chitsanzo ndi chinthu china chomwe chinapangidwa kuchokera ku gulu linalake. 'pass' imagwiritsidwa ntchito nthawi zambiri ngati kuyimilira pama code omwe tingaiwale kuti tigwiritse ntchito pakadali pano. Titha kupanga nambala ya Python popanda kukweza cholakwika pogwiritsa ntchito mawu oti "pass".
Kutengera kwa kalasi kumabweretsa chinthu (chitsanzo). Kufotokozera kokha kwa chinthu kumatanthauzidwa pamene kalasi yapangidwa. Zotsatira zake, palibe chosungira kapena RAM chomwe chimaperekedwa.
Chitsanzo cha chinthu cha gulu la parrot ndi:
Obj ndi chinthu chamtundu wa Parrot panthawiyi.
Tiyerekeze kuti tikudziwa zenizeni za mbalame zotchedwa parrots. Tsopano tiwonetsa momwe tingapangire gulu la parrot ndi zinthu zake.
Njira yapadera ( __init__ )
Njira yotchedwa init imatanthawuza zikhumbo zomwe chinthu chilichonse cha Parrot chiyenera kukhala nacho (). Chinthu chatsopano cha Parrot chikapangidwa, ntchito __init__ imapanga chikhalidwe choyambirira cha chinthucho popereka zomwe timapereka mkati mwa katundu wa chinthucho.
Chifukwa chake, chochitika chilichonse chatsopano cha kalasi chimayambitsidwa pogwiritsa ntchito __init__(). Ngakhale __init__ () akhoza kuvomereza magawo angapo, kudzikonda ndiye nthawi zonse woyamba.
Kufotokozera za zochitika za gulu logwira ntchito zikuphatikizidwa mu kudzitsutsa. The self parameter, yomwe imagwirizanitsa ndi adiresi ya chinthu chamakono cha kalasi ndikutipatsa mwayi wopeza (chinthucho) deta yosinthika, imasonyeza zimenezo.
Mwachitsanzo 1
Tinakhazikitsa kalasi yotchedwa Parrot mu code pamwambapa. Kenako, katundu amafotokozedwa. Makhalidwe a chinthu ndi katundu wake. Ntchito ya __init__ ya kalasi ndipamene izi zimatchulidwa.
Chinthu chikapangidwa, njira yoyambira ndiyo yomwe imatchedwa poyamba. Kenako, zitsanzo za gulu la Parrot zimapangidwa. Blaze ndi Wonda mu nthawi iyi ndi maumboni (makhalidwe) kuzinthu zathu zatsopano. __class .species imatilola kupeza mawonekedwe a kalasi.
Mtundu uliwonse wa kalasi uli ndi mawonekedwe ofanana. Zochitikazo zitha kupezekanso pogwiritsa ntchito blaze.name ndi blaze.age. Zitsanzo zonse za kalasi zimakhala ndi mawonekedwe apadera, komabe.
Mwachitsanzo 2
Njira
Ntchito zofotokozedwa mkati mwa thupi la kalasi zimatchedwa njira. Amagwiritsidwa ntchito kuti afotokoze momwe chinthucho chidzakhalira.
Njira ziwiri, kuyimba () ndi kuvina, zikufotokozedwa m'mawu omwe tawatchulawa (). Chifukwa amapemphedwa pa chinthu china, monga lawi lamoto, izi zimatchedwa njira zachitsanzo.
Zofunikira za lingaliro la OOPS
Mfundo zinayi zazikuluzikulu za pulogalamu yolunjika pa chinthu ndi:
- Cholowa
- Kuthamangitsidwa
- Polymorphism
- Kuchotsa
Cholowa
Kaŵirikaŵiri anthu amauza ana obadwa kumene kuti ali ndi mikhalidwe yofanana ndi ya makolo awo kapena kuti anatengera mikhalidwe inayake kuchokera kwa makolo awo.
N’kuthekanso kuti mwaonanso kuti muli ndi makhalidwe angapo ofanana ndi makolo anu. Zochitika zenizeni padziko lapansi zikufanananso ndi cholowa.
Komabe, pamenepa, mikhalidwe ya “makalasi a makolo” imaperekedwa ku “makalasi a ana.” Izi zimatchedwa "katundu" ndi "njira" m'nkhaniyi.
Kalasi ikhoza kupeza njira ndi zikhumbo zake kuchokera ku gulu lina pogwiritsa ntchito njira yotchedwa cholowa. Cholowa ndi njira ya kalasi ya ana kulandira katundu wa kalasi ya makolo.
Mwachitsanzo:
Gulu la makolo Munthu amatengera kwa mwana wa kalasi Mnyamata mu chitsanzo pamwambapa. Chifukwa Boy akutenga cholowa kuchokera kwa Munthu, titha kupeza njira zake zonse ndi zikhumbo zake tikapanga chitsanzo cha gulu la Anyamata.
M'kalasi la Anyamata, njira yotchedwa schoolName yafotokozedwanso. Chinthu cha kalasi ya makolo sichingathe kupeza njira ya schoolName. Njira ya SchoolName, komabe, imatha kutchedwa popanga chinthu chakalasi la ana (Mnyamata).
Kuthamangitsidwa
Kupereka kusinthika kulikonse mu pulogalamuyi kufikika kwapadziko lonse sikwanzeru kusuntha mukamagwira ntchito ndi makalasi ndikusamalira deta yovuta.
Popanda kupatsa pulogalamuyo mwayi wofikira kumitundu yonseyi, encapsulation imapereka njira yoti tipeze zosintha zofunika.
Njira zomwe zimafotokozedwa momveka bwino pazifukwa zingagwiritsidwe ntchito kukonzanso, kusintha, kapena kuchotsa deta kuchokera kuzinthu zosiyanasiyana. Njira iyi yopangira mapulogalamu ili ndi ubwino wokhala ndi chitetezo chowonjezereka komanso kuwongolera kulowetsa deta.
Onani momwe zosinthika zitha kupezeka mwachangu pachiwonetsero pansipa:
Polymorphism
Tiyerekeze kuti mukugwiritsa ntchito foni yanu kusakatula Ma feed a Instagram. Mutayamba kumvera nyimbo zina, mudapeza Spotify ndikuyamba kusewera nyimbo yomwe mumakonda.
Patapita nthawi, munalandira foni, choncho munaimitsa chilichonse chimene mukuchita kumbuyo kuti muyankhe. Mnzanuyo anaimba foni n’kukupemphani kuti muwatumizire mameseji nambala ya foni ya munthu winawake.
Chifukwa chake mudamutumizira nambala yafoni kudzera pa SMS ndikupitiliza ntchito zanu. Kodi mwatolapo chilichonse? Pogwiritsa ntchito chipangizo chimodzi chokha, chomwe ndi foni yanu yam'manja, mutha kuyang'ana pazakudya, kumvera nyimbo, kuyimba foni, komanso kutumiza mauthenga.
Choncho, polymorphism ikufanana ndi izo. Poly amatanthauza zambiri, ndipo morph amatanthauza mitundu yosiyanasiyana. Choncho, polymorphism yonse imatanthauza chinthu chokhala ndi mitundu yosiyanasiyana.
Kapena "chinachake" chomwe, kutengera momwe zinthu ziliri, chimatha kuwonetsa machitidwe osiyanasiyana. Mu OOPS, polymorphism imafotokoza ntchito zomwe zili ndi mayina omwewo koma machitidwe osiyana. Kapenanso, siginecha yosiyana yantchito yokhala ndi dzina lomwelo lantchito (magawo apita ku ntchitoyi).
Mwachitsanzo:
Apa, titha kugwiritsa ntchito chinyama chosinthika kubwereza zinthu za Mbidzi ndi Kalulu, pogwiritsa ntchito njira zawo. Zotsatira zake, machitidwe (mtundu() & eats()) wa Mbidzi ndi Kalulu akuimiridwa pano ndi mtundu umodzi wotchedwa nyama. Chifukwa chake ndikutsatira malamulo a polymorphism.
Kuchotsa
Nthawi zambiri mumagwiritsa ntchito laputopu, foni, kapena piritsi kuti muwerenge izi. Pamene mukuiwerenga, mwinamwake mukulembanso manotsi, kuyika pansi ndime zazikulu, ndipo mwinamwake kusunga zina m’mafayilo anuanu.
Zonse zomwe mungawone mukawerenga izi ndi "screen" ndi deta yomwe ikuwonetsedwa kwa inu. Mumangowona makiyi a kiyibodi mukamalemba, kuti musade nkhawa ndi zobisika zamkati monga momwe kukankhira kiyi kungapangitse kuti mawuwo awonekere pazenera.
Kapenanso, kukanikiza batani patsamba lanu kumatha kuyambitsa tabu yatsopano.
Choncho, chilichonse chimene tingaone pa nkhaniyi n’chake. Titha kungowona zotsatira zomwe zikupanga osati zovuta zamkati (zomwe zili zofunika kwa ife).
Mofanana ndi izi, kutulutsa kumangowonetsa ntchito zomwe chilichonse chili nacho ndikubisa zomwe zachitika kapena zamkati.
Cholinga chachikulu cha Abstraction ndikubisa zidziwitso zakumbuyo ndikugwiritsa ntchito zina zilizonse zakunja kuti anthu azingowona zomwe akuyenera kuwona. Imathandizira kuwongolera zovuta za code.
Mwachitsanzo:
Kalasi yokhudzana ndi magalimoto ilipo pano. Chifukwa amatenga cholowa cha kalasi ya ABC, ndizosamveka. Chifukwa njira zachidziwitso sizimatanthauzidwa kapena kukhala zopanda kanthu, Galimoto yamagulu ili ndi njira yosadziwika yotchedwa "no of wheels" yomwe ilibe tanthauzo.
Amayembekeza makalasi omwe adzalandira makalasi osamvetsetseka kuti apereke kukhazikitsidwa kwa njirayo.
Ubwino wamalingaliro a OOPS
- Mwa encapsulating, chitetezo chapamwamba ndi zinsinsi za data zimatheka.
- Kusinthasintha pokhala ndi mitundu yambiri ya polymorphic ya kalasi imodzi.
- Mlingo wapamwamba wa zovuta za code unachepetsedwa ndi kuchotsedwa.
- M'malo mosefa mazana a mizere yama code kuti mupeze vuto limodzi, kusinthasintha kwa mapulogalamu kumapangitsa kuthetsa vuto kukhala kosavuta.
- Kugwiritsanso ntchito ma code kumadza chifukwa cha cholowa cha kalasi ya ana cha katundu wa gulu la makolo.
- Kuthetsa mavuto moyenera ndikotheka chifukwa timapanga makalasi omwe amachita zofunikira pavuto lililonse laling'ono. Vuto lotsatirali litha kuthetsedwa mwachangu kwambiri popeza titha kugwiritsanso ntchito makalasi amenewo.
Kutsiliza
Pomaliza, taphunzira za malingaliro a OOPS ku Python, paradigm yotentha kwambiri pakali pano.
Mutawerenga izi, muyenera kuti mwazindikira kuti paradigm ya OOPS imakhudzana ndi lingaliro la makalasi ndi zinthu. ndi malingaliro a OOPS monga encapsulation, polymorphism, cholowa, ndi abstraction.
Siyani Mumakonda