Okuqukethwe[Fihla][Bonisa]
Phakathi konjiniyela, uhlelo olugxile entweni luhehe abalandeli abaningi. I-Python yolimi oludumile lwekhompyutha nayo ihambisana ne-paradigm egxile entweni.
Ibhekene nokuchaza izinto namakilasi kuPython, okwenza isisekelo sezimiso ze-OOPs. Kulesi sifundo "sezinhlelo ezigxile entweni kuPython," uzofunda ukumemezela amakilasi ePython, ukudala izinto kuwo, nokusebenzisa izindlela ezine ze-OOPs.
Ngakho, into yokuqala kuqala.
Iyini i-Object-Oriented Programming?
Ukugxila okuyinhloko kwe-object-oriented programming (OOP) ukudalwa “kwezinto”. Iqoqo lezinto eziguquguqukayo ezixhumene nemisebenzi yakha into.
Lezi zinhlobonhlobo zivame ukubizwa ngokuthi izibaluli zento, futhi ukuziphatha kwayo kuvame ukubizwa ngokuthi imisebenzi yayo. Lezi zinto zihlinzeka uhlelo lokusebenza ngesakhiwo esisebenza kahle nesiqondakalayo. Imoto iyisibonelo sento.
Uma imoto bekuyinto, izici zayo bezizofaka izinto ezifana nombala wayo, imodeli, intengo, uhlobo, njll. Ukwengeza, ibizosheshisa, yehlise ijubane, futhi ishintshe amagiya.
Omunye umfanekiso: Uma sicabanga ngenja njengento, khona-ke ezinye zezici zayo zingase zibe umbala, uhlobo, igama, isisindo, njll. Futhi iyobe ihambahamba, ikhonkotha, idlala, njll.
Ngoba ihlanganisa imiqondo yomhlaba wangempela njengezinto, ukucasha, ifa, njll. ohlelweni, ukuhlela okugxile entweni kwaziwa kahle. Ngenxa yokuthi ifana nezimo zomhlaba wangempela, ukubona ngeso lengqondo kwenziwa kube lula.
Imiqondo yokuhlela egxile entweni
Amakilasi Nezinto kuPython
Njengazo zonke ezinye izilimi ezigxile entweni, iPython ikuvumela ukuthi uklame amakilasi ukuze ukhiqize izinto. Izinhlobo zedatha ezidume kakhulu kuPython, okuhlanganisa izintambo, izinhlu, izichazamazwi, nezinye izinto, ngamakilasi akhelwe ngaphakathi.
Ikilasi iqoqo lezindlela ezixhunyiwe kanye nezimo eziguquguqukayo ezichaza uhlobo oluthile lwento. Ikilasi lingabonakala njengemodeli noma isifanekiso sento. Okuguquguqukayo okwenza ikilasi kwaziwa njengezibaluli.
Into iyilungu lesigaba elinesethi echaziwe yezibaluli. Ngenxa yalokhu, noma iyiphi inombolo yezinto ingadalwa kusetshenziswa isigaba esifanayo.
Amakilasi e-Python achazwa kusetshenziswa isigaba samagama, esilandelwa yigama lekilasi kanye nekholoni. Umfanekiso wekilasi likapholi ungaba:
Lapha, simemezela i-Parrot yekilasi elingenalutho sisebenzisa igama elingukhiye lekilasi. Sakha izimo ezivela kumakilasi. Isibonelo into ethile eyenziwe ekilasini elithile. 'ukudlula' kuvame ukusetshenziswa njengendawo yokuma yekhodi esingase sikuyeke ukuqaliswa kwayo okwamanje. Singakwazi ukwenza ikhodi yePython ngaphandle kokuphakamisa iphutha ngokusebenzisa igama elingukhiye elithi "pass".
I-instantiation yeklasi iphumela entweni (isibonelo). Incazelo yento kuphela echazwayo lapho kwakhiwa ikilasi. Ngenxa yalokho, asikho isitoreji noma i-RAM enikeziwe.
Isibonelo sento yesigaba sopholi yilesi:
I-Obj into ye-Parrot-class kulesi sibonelo.
Ake sithi sazi imininingwane ethile ngamapholi. Manje sizobonisa indlela yokudala isigaba se-parrot nezinto zayo.
Indlela Eyisipesheli ( __init__ )
Indlela ebizwa ngokuthi i-init ichaza izici okufanele yonke into ye-Parrot ibe nazo (). Lapho kwakhiwa into entsha ye-Parrot, umsebenzi __init__ udala isimo sokuqala sento ngokunikeza amanani esiwanikezayo ngaphakathi kwezakhiwo zento.
Ngakho, isenzakalo esisha ngasinye sekilasi siqalwa ngokusebenzisa __init__(). Nakuba i-__init__() ingamukela noma iyiphi inombolo yamapharamitha, yona ngokwayo ihlale iyipharamitha yokuqala.
Ireferensi yesibonelo sekilasi elisebenzayo ifakiwe ekuphikiseni wena ngokwakho. Ipharamitha ngokwayo, exhuma ekhelini lento yamanje yekilasi futhi isinika ukufinyelela kudatha yayo (yento) eguquguqukayo, isho lokho.
Isibonelo se-1
Sakhe ikilasi elibizwa nge-Parrot kukhodi engenhla. Okulandelayo, izakhiwo ziyachazwa. Izici zento yizici zayo. Umsebenzi __init__ wekilasi yilapho lezi zici zicaciswa khona.
Uma into yakhiwe, indlela yokuqalisa yiyo ebizwa ngokuthi ekuqaleni. Khona-ke, izimo zesigaba se-Parrot ziyadalwa. UBlaze no-Wonda kulesi sibonelo bayizinkomba (amanani) ezintweni zethu ezintsha. I-__class .species isivumela ukuthi sifinyelele isibaluli sekilasi.
Zonke izibonelo zekilasi zinezici ezifanayo. Izici zesibonelo zingafinyelelwa kusetshenziswa i-blaze.name ne-blaze.age. Zonke izimo zekilasi zinezimfanelo eziyingqayizivele, noma kunjalo.
Isibonelo se-2
izindlela
Imisebenzi echazwe ngaphakathi komzimba wekilasi ibizwa ngokuthi izindlela. Baqashelwe ukucacisa ukuthi into izoziphatha kanjani.
Izindlela ezimbili, ukucula () nomdanso, zichazwe ohlelweni olushiwo ngenhla (). Ngenxa yokuthi zicelwa entweni yesibonelo, efana nelangabi, lezi zibhekiselwa kuzo njengezindlela zesibonelo.
Okuyisisekelo komqondo we-OOPS
Imibono emine ewumongo yohlelo olugxile entweni yilena:
- Ifa
- Incapsulation
- I-Polymorphism
- Abstraction
Ifa
Abantu bavame ukutshela izingane ezisanda kuzalwa ukuthi zinezici zobuso ezifana nezabazali bazo noma ukuthi zizuze ngefa izici ezithile kubazali bazo.
Kungenzeka ukuthi uye waqaphela ukuthi unezici ezimbalwa nabazali bakho. Isimo somhlaba wangempela sifana neze nefa.
Nokho, kulesi simo, izici “zezigaba zabazali” zidluliselwa “emakilasini ezingane.” Lezi zici kubhekiselwa kuzo “njengezakhiwo” kanye “nezindlela” kulo mongo.
Ikilasi lingathola izindlela zalo nezibaluli kwesinye isigaba ngokusebenzisa indlela eyaziwa ngokuthi ifa. Ifa liyinqubo yekilasi lengane elithola izakhiwo zesigaba sabazali.
Isibonelo:
Isigaba sabazali Umuntu sitholwa yisigaba sengane Umfana kulesi sibonelo esingenhla. Ngenxa yokuthi u-Boy uzuza ku-Human, singakwazi ukufinyelela zonke izindlela zakho nezimfanelo lapho sidala isibonelo sesigaba sabafana.
Ekilasini labafana, indlela ebizwa nge-schoolName nayo ichaziwe. Into yekilasi lomzali ayikwazi ukufinyelela indlela ethi schoolName. Indlela ye-schoolName, nokho, ingabizwa ngokwakha into yekilasi lengane (Umfana).
Incapsulation
Ukunikeza konke okuguquguqukayo ohlelweni ukufinyelela emhlabeni wonke akusona isinyathelo esihlakaniphile lapho usebenza namakilasi futhi uphatha idatha ebucayi.
Ngaphandle kokunikeza uhlelo ukufinyelela okuphelele kunoma yikuphi kwalokhu okuguquguqukayo, i-encapsulation inikeza indlela yokuthi sithole okuguquguqukayo okudingekayo.
Izindlela ezichazwe ngokucacile ngenjongo zingasetshenziselwa ukubuyekeza, ukuhlela, noma ukususa idatha kusuka kokuhlukile. Le ndlela yokuhlela inezinzuzo zokuvikeleka okuthuthukisiwe nokulawula okokufaka kwedatha.
Bona ukuthi okuguquguqukayo kungafinyeleleka ngokushesha kangakanani kumboniso ongezansi:
I-Polymorphism
Ake sithi usebenzisa ifoni yakho ukuze upheqa Ama-Instagram feeds. Lapho uba nesifiso sokulalela umculo othile, ungene ku-Spotify futhi waqala ukudlala ingoma oyikhonzile.
Ngemva kwesikhathi, uthole ucingo, ngakho wamisa noma yini owawuyenza ngemuva ukuze uyiphendule. Umngani wakho ushaye ucingo wacela ukuthi umthumelele inombolo yocingo yomuntu othile.
Ngakho umthumelele inombolo yocingo nge-SMS futhi waqhubeka nemisebenzi yakho. Kukhona yini osukucolile? Ngomshini owodwa kuphela—umakhalekhukhwini wakho—ungaphequlula ama-feed, ulalele umculo, ubambe futhi ushaye izingcingo, futhi uthumele imiyalezo.
Ngakho-ke, i-polymorphism iqhathaniswa nalokho. I-Poly isho okuningi, kanti i-morph isho izinhlobo ezahlukene. Ngakho-ke, i-polymorphism iyonke ibhekisela entweni enezinhlobo ezihlukahlukene.
Noma “okuthile” okuthi, kuye ngesimo, kungabonisa izinhlobonhlobo zokuziphatha. Ku-OOPS, i-polymorphism ichaza imisebenzi enamagama afanayo kodwa ukuziphatha okuhlukile. Kungenjalo, isiginesha yomsebenzi ohlukile onegama lomsebenzi ofanayo (amapharamitha adluliselwe kumsebenzi).
Isibonelo:
Lapha, singasebenzisa isilwane esiguquguqukayo ukuze siphindaphinde izinto zeZebra kanye Nogwaja, sisebenzisa izindlela zazo zezibonelo ezihlukene. Ngenxa yalokho, ukuziphatha (umbala() & eats()) kokubili kweZebra kanye Nogwaja kumelelwe lapha ngokuguquguquka okukodwa okubizwa ngokuthi isilwane. Ngakho-ke ihambisana nemithetho ye-polymorphism.
Abstraction
Cishe usebenzisa ikhompuyutha ephathekayo, ifoni, noma ithebhulethi ukufunda lokhu okuqukethwe. Ngenkathi uyifunda, uthatha amanothi, udwebela iziqephu ezibalulekile, futhi mhlawumbe ugcina ulwazi oluthile kumafayela akho omuntu siqu.
Ongakubona kuphela uma ufunda lesi "isikrini" esinedatha oyiboniswayo. Ubona nje okhiye bekhibhodi njengoba uthayipha, ukuze ungakhathazeki mayelana nobuqili bangaphakathi njengokuthi ukuphusha ukhiye kungabangela lelo gama ukuthi livele esikrinini.
Kungenjalo, ukucindezela inkinobho esikrinini sakho kungavula kanjani ithebhu entsha.
Ngakho-ke, noma yini esingayibona kulesi simo ayinangqondo. Singabona kuphela umphumela ewudalayo hhayi ubunkimbinkimbi bangaphakathi (okubalulekile kithina).
Ngokufanayo nalokhu, ukufinyela kuveza kuphela imisebenzi yonke into enayo kuyilapho kufihlwa noma yikuphi ukusetshenziswa noma imininingwane yangaphakathi.
Inhloso enkulu ye-Abstraction ukufihla ulwazi lwangemuva nanoma yikuphi ukusetshenziswa kwedatha engaphandle ukuze abantu babone kuphela lokho okudingeka bakubone. Isiza ekulawuleni ubunkimbinkimbi bekhodi.
Isibonelo:
Ikilasi le-abstract elihlobene nemoto likhona lapha. Ngenxa yokuthi ithola ku-abstract class ABC, iyinto engabonakali. Ngenxa yokuthi izindlela ezingabonakali azichazwa noma zihlala zingenalutho, Imoto yekilasi inendlela engabonakali ebizwa ngokuthi "cha kwamasondo" engenayo incazelo.
Balindele amakilasi azuza njengefa amakilasi angabonakali ukuze anikeze ukusetshenziswa kwendlela.
Izinzuzo zemiqondo ye-OOPS
- Ngokuhlanganisa, ukuphepha okuphezulu kanye nobumfihlo bedatha kufinyelelwa.
- Ukuvumelana nezimo ekubeni nezinguqulo eziningi ze-polymorphic zesigaba esifanayo.
- Izinga eliphezulu lekhodi eyinkimbinkimbi yehliswa ngokukhipha.
- Esikhundleni sokuhluza amakhulu emigqa yekhodi ukuze kutholwe inkinga eyodwa, ukumodela kohlelo kwenza ukulungisa iphutha kube lula.
- Ukusetshenziswa kabusha kwekhodi kubangelwe ifa lekilasi lengane lezakhiwo zesigaba somzali.
- Ukuxazulula izinkinga okuphumelelayo kuyenzeka ngoba sakha amakilasi enza izenzo ezidingekayo zenkinga encane ngayinye. Inkinga elandelayo ingaxazululwa ngokushesha okukhulu njengoba singaphinda sisebenzise lawo makilasi.
Isiphetho
Sengiphetha, sifunde ngemibono ye-OOPS kuPython, ipharadigm yezinhlelo ezishisa izikhotha njengamanje.
Ngemuva kokufunda lokhu, kufanele ukuthi ubonile ukuthi ipharadigm ye-OOPS iphathelene ngokuphelele nomqondo wamakilasi nezinto. kanye nemiqondo ye-OOPS efana ne-encapsulation, i-polymorphism, ifa, kanye ne-abstraction.
shiya impendulo