Pakati pevagadziri, chirongwa-chakanangana nechinhu chakwezva vateveri vakakura. Mutauro wemakombuta wakakurumbira Python zvakare inonamatira kune-yakatarisana nechinhu paradigm.
Inobata nekutsanangura zvinhu uye makirasi muPython, inoumba hwaro hweOOPs nheyo. Muchidzidzo ichi che "programming-yakatarisana nechinhu muPython," iwe uchadzidza kuzivisa makirasi ePython, kugadzira zvinhu kubva mazviri, uye kushandisa maitiro mana eOOPs.
Saka, chinhu chekutanga kutanga.
Chii chinonzi Object-Oriented Programming?
Iyo inonyanya kutariswa yechinhu-yakatarisana programming (OOP) ndiko kusikwa kwe "zvinhu". Muunganidzwa wezvinhu zvakabatana zvakasiyana uye mabasa anoumba chinhu.
Aya akasiyana anowanzo kunzi hunhu hwechinhu, uye maitiro acho anowanzo kunzi mabasa acho. Izvi zvinhu zvinopa iyo application kune inoshanda uye inonzwisisika chimiro. Motokari muenzaniso wechinhu.
Kana mota yacho yaive chinhu, hunhu hwayo hwaizosanganisira zvinhu zvakaita seruvara rwayo, modhi, mutengo, mhando, nezvimwe. Uyezve, yaizomhanyisa, inonoke, uye kuchinja magiya.
Mumwe mufananidzo: Kana tikafunga nezvembwa sechinhu, ipapo humwe hwounhu hwayo hungava ruvara, rudzi, zita, uremu, zvichingodaro. Uye inenge ichifamba, ichihukura, ichitamba, zvichingodaro.
Nekuti inosanganisa pfungwa dzepasirese senge zvinhu, kuhwanda, nhaka, nezvimwewo muhurongwa, hurongwa hunotungamirwa nechinhu hunozivikanwa. Nekuti yakafanana nemamiriro epasirese, kuona kunoitwa nyore.
Object-Oriented Programming Concepts
Makirasi & Zvinhu muPython
Kufanana nemimwe mitauro yese yakatarisana nechinhu, Python inogonesa iwe kugadzira makirasi kugadzira zvinhu. Iwo anonyanya kufarirwa marudzi e data muPython, anosanganisira tambo, rondedzero, maduramazwi, uye zvimwe zvinhu, akavakirwa-mukati makirasi.
Kirasi iboka remitoo yakabatana uye mienzaniso misiyano inotsanangura imwe mhando yechinhu. Kirasi inogona kuonekwa semuenzaniso kana template yechinhu. Misiyano inoumba kirasi inozivikanwa sehunhu.
Chinhu inhengo yekirasi ine yakatsanangurwa seti yehunhu. Nekuda kweizvi, chero nhamba yezvinhu inogona kugadzirwa uchishandisa kirasi imwechete.
Makirasi ePython anotsanangurwa achishandisa izwi rekuti kirasi, iro rinozoteverwa nezita rekirasi uye colon. Mufananidzo wekirasi yeparrot ungave:
Pano, isu tinozivisa isina chinhu kirasi Parrot tichishandisa kirasi kiyi kiyi. Isu tinogadzira zviitiko kubva kumakirasi. Muenzaniso ndechimwe chinhu chakagadzirwa kubva kune imwe kirasi. 'pass' inowanzo shandiswa seyekumira-mukati kwekodhi iyo kuita kwayo kwatingafanofanofanofanotaura. Tinogona kuita iyo Python kodhi pasina kusimudza chikanganiso nekushandisa "pass" kiyi kiyi.
Instantiation yekirasi inoguma nechinhu (muenzaniso). Tsananguro yechinhu chete ndiyo inotsanangurwa kana kirasi yagadzirwa. Nekuda kweizvozvo, hapana kuchengetedza kana RAM inopihwa.
Muenzaniso wechinhu chekirasi yeparrot ndeichi:
Obj chinhu cheParrot-kirasi mune ino chiitiko.
Ngatitii tinoziva chaizvo nezve maparrots. Iye zvino ticharatidza maitiro ekugadzira kirasi yeparrot uye zvinhu zvayo.
Special Method ( __init__ )
Nzira inonzi init inotsanangura hunhu hunofanirwa kuve nechinhu chese cheParrot (). Kana chinhu chitsva cheParrot chikaumbwa, basa __init__ rinogadzira mamiriro ekutanga echinhu nekupa maitiro atinopa mukati mezvinhu zvechinhu.
Saka, chiitiko chitsva chekirasi chinotangwa nekushandisa __init__ (). Kunyangwe __init__ () inogona kugamuchira chero nhamba yeparamita, pachedu ndiyo nguva dzose yekutanga parameter.
Chirevo chechiitiko chekirasi chinoshanda chinosanganisirwa mukukakavadzana. Iyo self parameter, iyo inobatana nekero yechinhu chiripo chekirasi uye inotipa mukana kune yayo (yechinhu) dhata rekusiyanisa, inoratidza izvozvo.
muenzaniso 1
Takamisa kirasi inonzi Parrot mune iri pamusoro kodhi. Zvadaro, zvivakwa zvinotsanangurwa. Hunhu hwechinhu zvinhu zvacho. Basa rekirasi __init__ ndipo panotsanangurwa maitiro aya.
Kana chinhu chaumbwa, nzira yekutanga ndiyo inodanwa pekutanga. Zvadaro, zviitiko zveParrot kirasi inogadzirwa. Blaze naWonda mune ino chiitiko mareferenzi (maitiro) kuzvinhu zvedu zvitsva. __class .species inotibvumira kuwana hunhu hwekirasi.
Chiitiko chega chega chekirasi chine maitiro akafanana. Maitiro emuenzaniso anogona zvakare kuwanikwa uchishandisa blaze.name uye blaze.age. Mamiriro ese ekirasi ane akasiyana emuenzaniso maitiro, zvakadaro.
muenzaniso 2
nzira
Mabasa anotsanangurwa mukati memuviri wekirasi anonzi nzira. Vanoshandiswa kutsanangura kuti chinhu chichaita sei.
Nzira mbiri, kuimba () uye kutamba, dzinotsanangurwa mune yambotaurwa application (). Nekuti ivo vanokumbirwa pane chimwe chinhu, senge murazvo, izvi zvinonzi semienzaniso nzira.
Nheyo dzeiyo OOPS pfungwa
Iwo mana akakosha mazano echiro-yakatarisana programming ndeaya:
- nhaka
- encapsulation
- Polymorphism
- Abstraction
nhaka
Vanhu vanowanzoudza vacheche kuti vane zvimiro zvechiso zvakafanana neizvo zvevabereki vavo kana kuti vakatodza hunhu hwakati kuvabereki vavo.
Zvingangodaro kuti wakacherechedzawo kuti unogovana unhu hushoma nevabereki vako. Mamiriro ezvinhu enyika chaiwo akafanana nenhaka zvakare.
Nekudaro, mune iyi kesi, "makirasi evabereki" maitiro anopfuudzwa kune "makirasi evana." Aya mativi anonongedzerwa kwariri se“hunhu” uye “mitoo” muchirevo chechinyorwa chino.
Kirasi inogona kutora nzira dzayo uye hunhu kubva kune imwe kirasi nekushandisa nzira inozivikanwa senhaka. Nhaka inzira yekirasi yemwana kugamuchira zvimiro zvekirasi yevabereki.
muenzaniso:
Chikwata chevabereki Munhu anogarwa nhaka nemukomana wekirasi Mukomana mumuenzaniso uri pamusoro. Nekuti Mukomana ari kugara nhaka kubva kuMunhu, isu tinokwanisa kuwana ese ayo maitiro uye hunhu kana tikagadzira muenzaniso weboka reVakomana.
Mukirasi yeVakomana, nzira inonzi schoolName yakatsanangurwa zvakare. Chinhu chekirasi yevabereki hachikwanisi kuwana nzira yeSchoolName. Nzira yeSchoolName inogona, zvisinei, kudanwa nekugadzira chinhu chekirasi yemwana (Mukomana).
encapsulation
Kupa shanduko yega yega muchirongwa chekusvika kwepasirese hakusi kuchenjera kufamba paunenge uchishanda nemakirasi uye uchibata data rakadzama.
Pasina kupa chirongwa mukana wakakwana kune chero cheaya akasiyana, encapsulation inopa maitiro ekuti isu tiwane madhiri anodiwa.
Nzira dzakatsanangurwa zvakajeka kuitira chinangwa dzinogona kushandiswa kugadzirisa, kugadzirisa, kana kudzima data kubva kune zvakasiyana. Iyi nzira yekuronga ine mabhenefiti ekuwedzera kuchengetedzeka uye kutonga pamusoro pekuisa data.
Ona kuti mavheti anogona kukurumidza kuwanikwa sei muchiratidzo chiri pazasi:
Polymorphism
Ngatitii uri kushandisa foni yako kuongorora Instagram inopa. Pawakawana chido chekuteerera imwe mimhanzi, wakasvika paSpotify ndokutanga kuridza rwiyo rwaunofarira.
Mushure menguva, wakagamuchira runhare, saka wakambomira chero chawaiita kumashure kuti uipindure. Shamwari yako yakafona ikakumbira kuti uvatumire mameseji nhamba dzenhare dzemumwe munhu.
Saka wakamutumira nhamba yefoni kuburikidza neSMS uye woenderera mberi nemabasa ako. Pane chawakatora here? Nemudziyo mumwe chete—serura yako—waigona kuvhura mafeed, kuteerera mimhanzi, kutora uye kufona, uye meseji.
Naizvozvo, polymorphism inofananidzwa neiyo. Poly zvinoreva kuwanda, uye morph inoreva mafomu akasiyana. Nokudaro, polymorphism yose inoreva chimwe chinhu chine maitiro akasiyana-siyana.
Kana kuti "chimwe chinhu" icho, zvichienderana nemamiriro ezvinhu, chinogona kuratidza maitiro akasiyana-siyana. MuOOPS, polymorphism inotsanangura mabasa ane mazita akafanana asi maitiro akasiyana. Neimwe nzira, siginicha yebasa rakasiyana rine zita rimwechete rebasa (maparamita akapfuudzwa kubasa).
muenzaniso:
Pano, tinogona kushandisa mhuka yakasiyana-siyana kudzokorora zvinhu zveMbizi neTsuro, tichishandisa nzira dzavo dzemuenzaniso. Nekuda kweizvozvo, maitiro (ruvara() & anodya()) ese Mbizi neTsuro anomiririrwa pano nechinhu chimwe chinonzi mhuka. Naizvozvo iri kutevedzera mitemo yepolymorphism.
Abstraction
Iwe unogona kunyanya kushandisa laptop, foni, kana piritsi kuverenga izvi zvirimo. Paunenge uchiiverenga, unenge uchitorawo manotsi, uchinyora pasi ndima dzakakosha, uye pamwe nekuchengeta rumwe ruzivo mumafaira ako pachako.
Zvese zvaunogona kuona kana iwe uchiverenga iyi i "skrini" ine data iri kuratidzwa kwauri. Iwe unongoona makiyi ekhibhodi paunenge uchinyora, saka haufanirwe kunetseka nezvemukati memukati sekuti kusunda kiyi kunogona kuita sei kuti izwi rioneke pachiratidziri.
Neimwe nzira, kudzvanya bhatani pachiratidziro chako kunogona kuvhura tebhu nyowani.
Naizvozvo, chero chatinogona kuona mumamiriro ezvinhu aya hachizivikanwi. Isu tinongoona mhedzisiro yairi kugadzira uye kwete izvo zvemukati zvimisikidzo (izvo zvine basa kwatiri).
Zvakafanana neizvi, kubvisa kunongoratidza chete mabasa ane zvese uku uchivanza chero maitirwo kana zvemukati zvemukati.
Chinangwa chikuru cheAbstraction ndechekuvanza ruzivo rwekumashure uye chero kunze kwekushandisa data kuitira kuti vanhu vangoona zvavanoda kuona. Inobatsira mukugadzirisa kuoma kwekodhi.
muenzaniso:
Chikwata chine chekuita nemotokari chiripo pano. Nekuti inogara nhaka kubva kuabstract kirasi ABC, ndeye abstract. Nekuti abstract nzira hadzina kutsanangurwa kana kugara dzisina chinhu, kirasi Mota ine abstract nzira inonzi kwete yemavhiri isina tsananguro.
Ivo vanofungidzira makirasi anotora nhaka abstract makirasi kuti ape nzira yekushandisa.
Zvakanakira zveOOPS pfungwa
- Nekuputira, kuchengetedzeka kwakanyanya uye kuvanzika kwedata kunowanikwa.
- Kuchinjika mukuva neshanduro dzakawanda dzepolymorphic dzekirasi imwechete.
- Iyo yakakwirira yekodhi yakaoma yakaderedzwa nekubvisa.
- Panzvimbo pekusefa nemazana emitsetse yekodhi kuti uwane dambudziko rimwe chete, modularity yehurongwa inoita kuti kugadzirisa kuve nyore.
- Kushandiswazve kwekodhi kunokonzerwa nekirasi yemwana nhaka yemidziyo yekirasi yevabereki.
- Kugadzirisa matambudziko kunogoneka nekuti isu tinogadzira makirasi anoita zviito zvinodiwa kune yega mini-dambudziko. Dambudziko rinotevera rinogona kugadziriswa nekukasira sezvo tichigona kushandisa zvakare makirasi iwayo.
mhedziso
Mukupedzisa, takadzidza nezve OOPS mazano muPython, iyo inopisa kwazvo purogiramu paradigm izvozvi.
Mushure mekuverenga izvi, unofanirwa kunge waona kuti iyo OOPS paradigm inobata zvachose nepfungwa yemakirasi uye zvinhu. uye OOPS pfungwa dzakadai se encapsulation, polymorphism, nhaka, uye abstraction.
Leave a Reply