N'etiti ndị mmepe, mmemme gbadoro anya ihe adọtala ọtụtụ ndị na-eso ya. Asụsụ kọmpụta a ma ama Python na-agbasokwa usoro ihe dabere na ihe.
Ọ na-ekwu maka ịkọwapụta ihe na klaasị na Python, nke bụ ntọala maka ụkpụrụ OOPs. N'ime nkuzi a gbasara "mmemme gbasara ihe na Python," ị ga-amụta ka esi ekwupụta klaasị Python, mepụta ihe na ha, wee jiri usoro OOP anọ.
Ya mere, ihe mbụ mbụ.
Kedu ihe bụ mmemme dabere na ihe?
Isi ihe na-elekwasị anya na mmemme na-adabere na ihe (OOP) bụ ịmepụta "ihe". Nchịkọta mgbanwe na ọrụ jikọrọ ọnụ na-eme ihe.
A na-akpọkarị mgbanwe ndị a dị ka àgwà nke ihe ahụ, a na-akpọkwa àgwà ya ugboro ugboro dị ka ọrụ ya. Ihe ndị a na-enye ngwa ahụ usoro dị irè na nghọta. Ụgbọ ala bụ ihe atụ nke ihe.
Ọ bụrụ na ụgbọ ala ahụ bụ ihe, njirimara ya ga-agụnye ihe ndị dị ka agba ya, ihe nlereanya, ọnụahịa ya, akara ya, wdg. Na mgbakwunye, ọ ga-eme ngwa ngwa, belata, ma gbanwee ngwa ngwa.
Ihe atụ ọzọ: Ọ bụrụ na anyị na-eche banyere nkịta dị ka ihe, mgbe ahụ, ụfọdụ n'ime àgwà ya nwere ike ịbụ agba, ụdị, aha, arọ, wdg. Ọ ga na-agagharị agagharị, na-agbọ ụja, na-egwu egwu, wdg.
N'ihi na ọ na-etinye echiche dị adị n'ezie dị ka ihe, nzuzo, ihe nketa, wdg n'ime mmemme, mmemme na-adabere n'ihe a maara nke ọma. N'ihi na ọ dị ka ọnọdụ ụwa n'ezie, a na-eme ka ọhụhụ ụzọ dị mfe.
Atụmatụ mmemme dabere na ihe
Klas & Ihe dị na Python
Dịka asụsụ ndị ọzọ gbasara ihe, Python na-enyere gị aka chepụta klaasị iji mepụta ihe. Ụdị data kachasị ewu ewu na Python, gụnyere eriri, ndepụta, akwụkwọ ọkọwa okwu, na ihe ndị ọzọ, arụnyere na klaasị.
Otu klas bụ otu ụzọ ejikọrọ na ihe atụ mgbanwe na-akọwapụta otu ụdị ihe. Enwere ike ịhụ klaasị dị ka ihe nlereanya ma ọ bụ ndebiri maka ihe. A na-akpọ mgbanwe ndị mejupụtara klaasị dị ka àgwà.
Ihe bụ otu klaasị nwere njirimara akọwapụtara. N'ihi nke a, enwere ike ịmepụta ọnụọgụ ọ bụla nke ihe site na iji otu klas.
A na-akọwa klaasị Python site na iji klaasị, nke aha klas na colon na-esochi ya. Ihe atụ nke klaasị parrot nwere ike ịbụ:
N'ebe a, anyị na-ekwupụta klaasị efu Parrot site na iji isiokwu klas. Anyị na-emepụta ihe atụ site na klaasị. Otu ihe atụ bụ otu ihe emere site na otu klaasị. A na-ejikarị 'pass' eme ihe dị ka nkwụnye maka koodu nke anyị nwere ike ịhapụ mmejuputa ya maka oge a. Anyị nwere ike mebie koodu Python na-ebulighị njehie site na iji mkpụrụokwu “pass”.
Ngwa ngwa nke klaasị na-ebute ihe (ihe atụ). Naanị nkọwa ihe a ka akọwara mgbe emepụtara klaasị. N'ihi ya, ọ nweghị ebe nchekwa ma ọ bụ RAM ekenyela.
Otu ihe atụ nke ihe klaasị parrot bụ:
Obj bụ ihe klaasị Parrot na nke a.
Ka anyị kwuo na anyị maara kpọmkwem banyere parrots. Ugbu a, anyị ga-egosi otu esi emepụta klas parrot na ihe ya.
Ụzọ pụrụ iche ( __init__ )
Usoro a na-akpọ init na-akọwapụta àgwà nke ihe ọ bụla Parrot ga-enwerịrị (). Mgbe emepụtara ihe ọhụrụ Parrot, ọrụ __init__ na-emepụta ọnọdụ mbụ nke ihe ahụ site na-ekenye ụkpụrụ anyị na-enye n'ime ihe onwunwe ahụ.
Yabụ, a na-ebido ihe ọhụrụ ọ bụla nke klaasị site na iji __init__(). Ọ bụ ezie na __init__() nwere ike ịnakwere ọnụọgụ ọ bụla nke paramita, onwe ya na-abụkarị paramita mbụ.
Agụnyere ntụaka maka ihe atụ klaasị nọ n'ọrụ n'ime arụmụka nke onwe. Parameter nke onwe, nke jikọtara adreesị nke ihe dị ugbu a nke klaasị ma na-enye anyị ohere ịnweta data mgbanwe ya (ihe ahụ), na-egosi nke ahụ.
atụ 1
Anyị hiwere otu klas a na-akpọ Parrot na koodu dị n'elu. Na-esote, a kọwapụtara akụrụngwa. Ihe e ji mara ihe bụ ihe onwunwe ya. Ọrụ __init__ klaasị bụ ebe akọwapụtara njirimara ndị a.
Mgbe emepụtara ihe, usoro mmalite bụ nke a na-akpọ na mbụ. Mgbe ahụ, a na-emepụta ihe atụ nke klas Parrot. Blaze na Wonda n'ihe atụ a bụ ntụaka (ụkpụrụ) maka ihe ọhụrụ anyị. __class .species na-enye anyị ohere ịnweta njirimara klas.
Ihe atụ ọ bụla nke klaasị nwere otu njirimara. Enwere ike ịnweta njirimara ihe atụ site na iji blaze.name na blaze.age. Oge niile nke klaasị nwere njirimara atụ pụrụ iche, n'agbanyeghị.
atụ 2
ụzọ
A na-akpọ ọrụ akọwara n'ime ahụ klaasị ụzọ. A na-ewe ha n'ọrụ iji kọwapụta otu ihe ga-esi eme.
A kọwapụtara ụzọ abụọ, abụ () na ịgba egwu n'ime ngwa ahụ a kpọtụrụ aha (). N'ihi na a na-akpọ ha n'ihe atụ, dị ka ire ọkụ, ndị a na-ezo aka dị ka usoro ihe atụ.
Ntọala nke echiche OOPS
Isi echiche anọ nke mmemme gbadoro anya ihe bụ:
- nketa
- Encapsulation
- Polymorphism
- Abstraction
nketa
Ndị mmadụ na-agwakarị ụmụ ọhụrụ na ha nwere àgwà ihu ndị yiri nke ndị mụrụ ha ma ọ bụ na ha ketara àgwà ụfọdụ n’aka ndị mụrụ ha.
O nwere ike ịbụ na ị chọpụtala na gị na ndị mụrụ gị na-akpa àgwà ole na ole. Ọnọdụ a na-eme n'ụwa yikwara ihe nketa.
Otú ọ dị, n'ọnọdụ a, a na-ebufe àgwà "klas nne na nna" na "klaasị ụmụaka." A na-akpọ akụkụ ndị a dị ka "ihe onwunwe" na "ụzọ" n'ọnọdụ a.
Otu klas nwere ike nweta usoro ya na njirimara ya site na klaasị ọzọ site na iji usoro a maara dị ka ihe nketa. Ihe nketa bụ usoro nke klaasị nwata na-anata akụrụngwa nke klaasị nne na nna.
atụ:
Ndị nne na nna bụ ụmụ mmadụ ketara site na klas nwata n'ihe atụ dị n'elu. N'ihi na Nwa nwoke na-eketa n'aka mmadụ, anyị nwere ike ịnweta ụzọ ya na njirimara ya mgbe anyị mepụtara ihe atụ nke klaasị Nwa nwoke.
Na klaasị Nwatakịrị, a kọwakwara usoro a na-akpọ aha ụlọ akwụkwọ. Ihe klas nne na nna enweghị ike ịnweta usoro aha ụlọ akwụkwọ. Otú ọ dị, usoro aha ụlọ akwụkwọ nwere ike ịkpọ site na ịmepụta ihe klas ụmụaka (Nwa nwoke).
Encapsulation
Inye mgbanwe ọ bụla na mmemme ohere zuru ụwa ọnụ abụghị ihe amamihe dị na ya mgbe ị na-arụ ọrụ na klaasị na ijikwa data nwere mmetụta.
Na-enyeghị mmemme ohere zuru oke na nke ọ bụla n'ime mgbanwe ndị ahụ, encapsulation na-enye anyị usoro iji nweta mgbanwe ndị dị mkpa.
Enwere ike iji ụzọ akọwara nke ọma maka ebumnuche a iji melite, dezie, ma ọ bụ hichapụ data site na mgbanwe. Usoro mmemme a nwere uru nke nkwalite nchekwa na njikwa na ntinye data.
Hụ ka enwere ike ịnweta mgbanwe ngwa ngwa na ngosipụta dị n'okpuru:
Polymorphism
Ka anyị kwuo na ị na-eji ekwentị gị eme nchọgharị Nri Instagram. Mgbe ị nwere mmasị ige ụfọdụ egwu, ị nwetara Spotify wee malite ịkpọ egwu kachasị amasị gị.
Mgbe oge ụfọdụ gasịrị, a kpọrọ gị òkù, n'ihi ya, ị kwụsịrị ihe ọ bụla ị na-eme n'azụ iji zaa ya. Enyi gị kpọrọ ya rịọ ka i ziga ha nọmba ekwentị otu onye.
Ya mere, ezitere ya nọmba ekwentị site na SMS wee gaa n'ihu na ọrụ gị. Ị buliela ihe ọ bụla? Iji naanị otu ngwaọrụ — ekwentị mkpanaaka gị — ị nwere ike ịgagharị na ndepụta nri, gee egwu, were ma kpọọ ekwentị, na ozi.
Ya mere, polymorphism dị ka nke ahụ. Poly pụtara ọtụtụ, na morph na-egosi ụdị dị iche iche. Ya mere, polymorphism n'ozuzu ya na-ezo aka n'ihe nwere ụdị dị iche iche.
Ma ọ bụ "ihe" nke, dabere na ọnọdụ ahụ, nwere ike igosipụta àgwà dị iche iche. Na OOPS, polymorphism na-akọwa ọrụ nwere otu aha mana omume dị iche iche. N'aka nke ọzọ, mbinye aka ọrụ dị iche nwere otu aha ọrụ (nkeji gafere na ọrụ ahụ).
atụ:
N'ebe a, anyị nwere ike iji anụmanụ na-agbanwe agbanwe na-emegharị ihe nke zebra na oke bekee, na-eji usoro ihe atụ ha. N'ihi ya, omume (agba() & rie()) nke ma Zebra na oke bekee na-anọchi anya ebe a site na otu mgbanwe a na-akpọ anụmanụ. Ya mere, ọ na-agbaso iwu polymorphism.
Abstraction
O yikarịrị ka ị ga-eji laptọọpụ, ekwentị, ma ọ bụ mbadamba ihe ịgụ ọdịnaya a. Mgbe ị na-agụ ya, ị na-echekwa na ị na-edetu ihe, na-edobe akụkụ ndị dị mkpa, yana ikekwe na-echekwa ozi ụfọdụ na faịlụ nkeonwe gị.
Naanị ihe ị ga-ahụ mgbe ị gụrụ nke a bụ “ihuenyo” nwere data a na-egosi gị. Naanị ị na-ahụ igodo ahụigodo ka ị na-apịpị, yabụ na ị gaghị echegbu onwe gị maka aghụghọ dị n'ime dịka otu ịpị igodo nwere ike isi mee ka okwu ahụ pụta na ihuenyo.
N'aka nke ọzọ, ka ịpị bọtịnụ na ihuenyo gị nwere ike ịmalite taabụ ọhụrụ.
Ya mere, ihe ọ bụla anyị nwere ike ịhụ na ọnọdụ a bụ ihe nkịtị. Anyị nwere ike ịhụ naanị nsonaazụ ọ na-eke na ọ bụghị n'ime mgbagwoju anya (nke dị anyị mkpa n'ezie).
Yiri nke a, abstraction na-ekpughe naanị ọrụ nke ihe niile nwere mgbe ọ na-ezobe mmejuputa iwu ọ bụla ma ọ bụ nkọwa nke ime.
Ebumnuche bụ isi nke Abstraction bụ izochi ozi ndabere yana mmejuputa data ọ bụla pụrụ iche ka ndị mmadụ wee hụ naanị ihe ha kwesịrị ịhụ. Ọ na-enyere aka ijikwa mgbagwoju anya koodu ahụ.
atụ:
Klas nkịtị metụtara ụgbọ dị ebe a. N'ihi na ọ na-eketa site na klas abstract ABC, ọ bụ ihe nkịtị. N'ihi na a kọwaghị ụzọ abstract ma ọ bụ nọrọ ihe efu, klaasị Vehicle nwere usoro nkịtị a na-akpọ enweghị wiil nke enweghị nkọwa.
Ha na-atụ anya klaasị ga-eketa klaasị nkịtị iji nye mmejuputa usoro a.
Uru nke echiche OOPS
- Site na encapsulating, a na-enweta nchekwa dị elu na nzuzo data.
- Mgbanwe n'inwe ọtụtụ ụdị polymorphic nke otu klaasị.
- Eji abstraction belata ọkwa dị elu nke mgbagwoju anya koodu.
- Kama inyocha ọtụtụ narị ahịrị koodu iji chọta otu nsogbu, modularity nke mmemme na-eme ka nbipu dị mfe.
- Ọ bụ ihe nketa nke klaasị ụmụaka nwere klaasị nne na nna na-ebutegharị koodu.
- Ngwọta nsogbu dị mma ga-ekwe omume n'ihi na anyị na-emepụta klaasị na-eme ihe ndị dị mkpa maka obere nsogbu ọ bụla. Enwere ike idozi nsogbu na-esote ngwa ngwa karịa ebe anyị nwere ike iji klaasị ndị ahụ ọzọ.
mmechi
Na mmechi, anyị mụtara maka echiche OOPS na Python, usoro mmemme kacha mma ugbu a.
Mgbe ị gụchara nke a, ị ga-abụrịrị na ị ghọtara na ụkpụrụ OOPS na-emetụta echiche nke klaasị na ihe. na echiche OOPS dị ka encapsulation, polymorphism, ihe nketa, na abstraction.
Nkume a-aza