Ma waena o nā mea hoʻomohala, ua hoʻokomo ʻia nā mea hoʻolālā e pili ana i nā mea. ʻO ka ʻōlelo kamepiula kaulana ʻo Python e pili pū ana i ka paradigm object-oriented.
E pili ana i ka wehewehe ʻana i nā mea a me nā papa ma Python, ʻo ia ke kumu no nā loina OOPs. Ma kēia kumu aʻoaʻo e pili ana i ka "programming object-oriented in Python," e aʻo ʻoe pehea e haʻi ai i nā papa Python, hana i nā mea mai ia mau mea, a hoʻohana i nā ʻenehana OOPs ʻehā.
No laila, ka mea mua.
He aha ka Papahana Hoʻonaʻauao Mea?
ʻO ka manaʻo nui o ka hoʻolālā ʻana i nā mea (OOP) ka hana ʻana i nā "mea". ʻO kahi hōʻiliʻili o nā ʻano like ʻole a me nā hana i hana i kahi mea.
Ua kapa pinepine ʻia kēia mau ʻano like me nā ʻano o ka mea, a ua kapa pinepine ʻia kāna mau ʻano i kāna mau hana. Hāʻawi kēia mau mea i ka noi me kahi hoʻolālā kūpono a hoʻomaopopo. ʻO ke kaʻa he laʻana o kekahi mea.
Inā he 'ikamu ka ka'a, e ho'okomo 'ia kona mau 'ano like me kona kala, kükohu, kumu kū'ai, brand, a pela aku.
ʻO kekahi hiʻohiʻona: Inā mākou e noʻonoʻo i ka ʻīlio he mea, a laila ʻo kekahi o kona mau ʻano he kala, ʻano, inoa, kaumaha, a pēlā aku.
Ma muli o ka hoʻokomo ʻana i nā manaʻo o ka honua maoli e like me nā mea, hūnā, hoʻoilina, etc. No ka mea, ua like loa ia me nā kūlana honua maoli, ua maʻalahi ka nānā ʻana.
Nā Manaʻo Papahana Hoʻonaʻauao
Nā papa a me nā mea ma Python
E like me nā ʻōlelo ʻē aʻe a pau, hiki iā Python ke hoʻolālā i nā papa e hana i nā mea. ʻO nā ʻano ʻikepili kaulana loa ma Python, me nā kaula, nā papa inoa, nā puke wehewehe ʻōlelo, a me nā mea ʻē aʻe, he mau papa i kūkulu ʻia.
ʻO ka papa he pūʻulu o nā ʻano i hoʻopili ʻia a me nā ʻano like ʻole e wehewehe i kekahi ʻano mea. Hiki ke ʻike ʻia kahi papa ma ke ʻano he kumu hoʻohālike a i ʻole ka laʻana no kahi mea. Ua ʻike ʻia nā ʻano ʻokoʻa i loko o kahi papa.
ʻO kahi mea he lālā o ka papa i hoʻonohonoho ʻia o nā ʻano. Ma muli o kēia, hiki ke hana ʻia kekahi helu o nā mea me ka hoʻohana ʻana i ka papa like.
Ua wehewehe ʻia nā papa Python e hoʻohana ana i ka papa huaʻōlelo, a laila hahai ʻia e ka inoa papa a me kahi kolonā. ʻO kahi kiʻi kiʻi o ka papa parrot paha:
Maʻaneʻi, haʻi mākou i ka Parrot papa ʻole me ka hoʻohana ʻana i ka huaʻōlelo papa. Hana mākou i nā manawa mai nā papa. ʻO kahi instance kekahi mea i hana ʻia mai kekahi papa. Hoʻohana pinepine ʻia ka 'pass' ma ke ʻano he paʻa no ke code nona ka hoʻokō e haʻalele ai mākou no ka manawa. Hiki iā mākou ke hoʻokō i ka code Python me ka ʻole o ka hoʻāla ʻana i kahi hewa ma ka hoʻohana ʻana i ka huaʻōlelo "pass".
ʻO ka hoʻomaka ʻana o kahi papa e loaʻa i kahi mea (instance). ʻO ka wehewehe ʻana wale nō o ka mea i wehewehe ʻia ke hana ʻia kahi papa. ʻO ka hopena, ʻaʻohe waihona a i ʻole RAM i hoʻokaʻawale ʻia.
ʻO kahi laʻana o kahi mea papa parrot:
ʻO Obj kahi mea Parrot-class i kēia manawa.
E ʻōlelo mākou ua ʻike mākou i nā kikoʻī e pili ana i nā parrots. E hōʻike mākou i kēia manawa pehea e hana ai i ka papa parrot a me kāna mau mea.
Hana Kūikawā ( __init__ )
ʻO ke ʻano i kapa ʻia ʻo init e wehewehe i nā ʻano i loaʻa i kēlā me kēia mea Parrot (). Ke hoʻokumu ʻia kahi mea Parrot hou, hana ka hana __init__ i ke kūlana mua o ka mea ma ka hāʻawi ʻana i nā waiwai a mākou e hāʻawi ai i loko o nā waiwai o ka mea.
No laila, hoʻomaka ʻia kēlā me kēia mea hou o ka papa ma ka hoʻohana ʻana i __init__(). ʻOiai hiki iā __init__() ke ʻae i kekahi helu o nā ʻāpana, ʻo ia iho ka mea mua.
Hoʻokomo ʻia kahi kuhikuhi i ka laʻana papa hana i loko o ka hoʻopaʻapaʻa ponoʻī. ʻO ka ʻokoʻa ponoʻī, e pili ana i ka helu wahi o ka mea i kēia manawa o kahi papa a hāʻawi iā mākou i ke komo ʻana i kāna ʻikepili (nā mea hoʻololi), hōʻike ia.
Eia 1
Ua hoʻokumu mākou i kahi papa i kapa ʻia ʻo Parrot ma ke code ma luna. A laila, wehewehe ʻia nā waiwai. ʻO nā hiʻohiʻona o kekahi mea kona mau waiwai. ʻO ka hana __init__ o ka papa kahi i kuhikuhi ʻia ai kēia mau ʻano.
Ke hoʻokumu ʻia kahi mea, ʻo ke ʻano initializer ka mea i kapa mua ʻia. A laila, hana ʻia nā ʻano o ka papa Parrot. ʻO Blaze a me Wonda i kēia manawa he mau kuhikuhi (waiwai) i kā mākou mea hou. __class .species hiki iā mākou ke komo i ka ʻano papa.
Loaʻa nā hiʻohiʻona like o kēlā me kēia laʻana o kahi papa. Hiki ke kiʻi ʻia nā hiʻohiʻona me ka blaze.name a me blaze.age. Loaʻa nā hiʻohiʻona hiʻohiʻona kūʻokoʻa i nā manawa āpau o kahi papa.
Eia 2
Nā Papahana
Kapa ʻia nā hana i wehewehe ʻia i loko o ke kino o ka papa. Hoʻohana ʻia lākou e wehewehe i ke ʻano e hana ai kahi mea.
ʻElua mau ʻano, ʻo ka hīmeni () a me ka hula, ua wehewehe ʻia ma ka noi i haʻi ʻia aʻe nei (). No ka mea ua kāhea ʻia lākou ma kahi mea hoʻohālike, e like me ka lapalapa, ua kapa ʻia kēia mau ʻano hana.
Nā kumu o ka manaʻo OOPS
ʻO nā manaʻo koʻikoʻi ʻehā o ka hoʻolālā ʻana i nā mea:
- hooilina
- Hoʻopiliʻia
- ʻO Polymorphism
- ʻAukake
hooilina
'Ōlelo pinepine ka poʻe i nā keiki hānau hou he mau helehelena ko lākou e like me ko ko lākou mau mākua a i ʻole he ʻano hoʻoilina mai ko lākou mau mākua.
Hiki paha iā ʻoe ke ʻike i ke kaʻana like ʻana o kekahi mau ʻano me kou mau mākua. Ua like like ke kūlana honua maoli me ka hoʻoilina.
Eia naʻe, i kēia hihia, ua hāʻawi ʻia nā ʻano "papa makua" i nā "papa keiki." Ua kapa ʻia kēia mau ʻano he "ʻano" a me "nā ʻano" ma kēia ʻano.
Hiki i ka papa ke kiʻi i kāna mau ʻano a me nā ʻano mai kahi papa ʻē aʻe ma o ka hoʻohana ʻana i ka ʻenehana i kapa ʻia ʻo ka hoʻoilina. ʻO ka hoʻoilina ke kaʻina hana o ka papa keiki e loaʻa ai nā waiwai o ka papa makua.
la'ana:
Ua hoʻoili ʻia ka papa makua kanaka e ka papa keiki Boy ma ka laʻana ma luna. Ma muli o ka hoʻoilina ʻana o Boy mai ke kanaka, hiki iā mākou ke komo i kāna mau ʻano a me nā ʻano a pau ke hana mākou i kahi laʻana o ka papa Boy.
Ma ka papa Boy, ua wehewehe ʻia kahi ʻano i kapa ʻia schoolName. ʻAʻole hiki i ka mea papa makua ke komo i ke ʻano schoolName. Hiki ke kapa ʻia ke ʻano schoolName ma ka hana ʻana i kahi mea papa keiki (Boy).
Hoʻopiliʻia
ʻO ka hāʻawi ʻana i kēlā me kēia ʻano i loko o ka papahana ke komo honua ʻaʻole ia he neʻe naʻauao ke hana pū me nā papa a me ka lawelawe ʻana i nā ʻikepili koʻikoʻi.
Me ka hāʻawi ʻole ʻana i ka polokalamu i ke komo piha ʻana i kekahi o ia mau ʻano hoʻololi, hāʻawi ka encapsulation i kahi hana no mākou e loaʻa ai nā ʻano pono.
Hiki ke hoʻohana ʻia nā ʻano hana i wehewehe ʻia no ke kumu e hoʻololi, hoʻoponopono, a holoi paha i ka ʻikepili mai nā ʻano like ʻole. Loaʻa i kēia ʻano hoʻolālā nā mea maikaʻi o ka hoʻonui ʻana i ka palekana a me ka mālama ʻana i ka hoʻokomo ʻikepili.
E ʻike i ka hikiwawe o nā mea hoʻololi i ka hōʻike ma lalo nei:
ʻO Polymorphism
E ʻōlelo kākou ke hoʻohana nei ʻoe i kāu kelepona e nānā i ka Nā hānai Instagram. I ka loaʻa ʻana o ka makemake e hoʻolohe i kekahi mele, ua komo ʻoe iā Spotify a hoʻomaka e hoʻokani i kāu mele punahele.
Ma hope o kekahi manawa, ua loaʻa iā ʻoe kahi kelepona, no laila ua hoʻomaha ʻoe i nā mea āu e hana nei ma hope no ka pane ʻana. Ua kāhea kou hoaaloha a noi mai e leka uila iā lākou i ka helu kelepona o kekahi kanaka.
No laila ua hoʻouna ʻoe iā ia i ka helu kelepona ma o SMS a hoʻomau i kāu mau hana. Ua ʻohi ʻoe i kekahi mea? Me hoʻokahi wale nō mea hana—kāu kelepona paʻalima—hiki iā ʻoe ke heʻe nalu i nā meaʻai, hoʻolohe i ke mele, lawe a hana i nā kelepona, a me nā leka.
No laila, hoʻohālikelike ka polymorphism i kēlā. ʻO ka Poly ke ʻano he nui, a ʻo ka morph ke ʻano o nā ʻano like ʻole. No laila, pili ka polymorphism i kekahi mea me nā ʻano like ʻole.
A i ʻole "kekahi mea" e pili ana i ke kūlana, hiki ke hōʻike i nā ʻano ʻano like ʻole. Ma OOPS, wehewehe ka polymorphism i nā hana me nā inoa like akā nā ʻano ʻokoʻa. ʻO kahi ʻē aʻe, he pūlima hana ʻokoʻa me ka inoa hana like (nā ʻāpana i hāʻawi ʻia i ka hana).
la'ana:
Maʻaneʻi, hiki iā mākou ke hoʻohana i ka holoholona hoʻololi e hoʻololi i nā mea o ka Zebra a me ka Rabbit, me ka hoʻohana ʻana i kā lākou ʻano hana. ʻO ka hopena, hōʻike ʻia ka ʻano (color() & eats()) o ka Zebra a me ka Rabbit ma ʻaneʻi e kahi ʻano hoʻololi i kapa ʻia he holoholona. No laila e pili ana i nā lula polymorphism.
ʻAukake
Hiki paha iā ʻoe ke hoʻohana i kahi kamepiula, kelepona, a i ʻole papa e heluhelu ai i kēia ʻike. Iā ʻoe e heluhelu nei, ke kākau nei ʻoe i nā memo, ke kahakaha ʻana i nā paukū kī, a mālama paha i kekahi ʻike i kāu mau faila pilikino.
ʻO nā mea a pau āu e ʻike ai i ka wā e heluhelu ai ʻoe he "pale" me ka ʻikepili e hōʻike ʻia nei iā ʻoe. ʻIke wale ʻoe i nā kī o ka papa keyboard i kou kākau ʻana, no laila ʻaʻole pono ʻoe e hopohopo e pili ana i nā subtleties kūloko e like me ke ʻano o ke kī ʻana i ke kī e hōʻike ʻia ai kēlā huaʻōlelo ma ka pale.
ʻO kahi ʻē aʻe, pehea e hiki ai i ke kaomi ʻana i kahi pihi ma kāu pale ke hoʻomaka i kahi pā hou.
No laila, ʻo nā mea a mākou e ʻike ai i kēia kūlana he abstract. Hiki iā mākou ke ʻike i ka hopena e hana nei a ʻaʻole nā pilikia o loko (ʻo ia ka mea nui iā mākou).
E like me kēia, hōʻike wale ka abstraction i nā hana i loaʻa i nā mea āpau i ka hūnā ʻana i nā hoʻokō a i ʻole nā kikoʻī kūloko.
ʻO ka pahuhopu nui o Abstraction, ʻo ia ka hūnā i ka ʻike hope a me ka hoʻokō ʻana i nā ʻikepili ʻē aʻe i ʻike wale nā kānaka i nā mea e pono ai lākou e ʻike. Kōkua ia i ka mālama ʻana i ka paʻakikī o ke code.
la'ana:
Aia kekahi papa abstract pili kaʻa ma ʻaneʻi. No ka mea, loaʻa iā ia mai ka papa abstract ABC, he abstract ia. No ka mea, ʻaʻole i wehewehe ʻia nā ʻano hana abstract a noho ʻole paha, aia ke kaʻa kaʻa papa i kahi ʻano abstract i kapa ʻia ʻaʻole o nā huila i nele i ka wehewehe.
Manaʻo lākou i nā papa i hoʻoilina i nā papa abstract e hāʻawi i ka hoʻokō ʻana o ke ʻano.
Nā pōmaikaʻi o nā manaʻo OOPS
- Ma ka encapsulating, loaʻa ka palekana kiʻekiʻe a me ka pilikino ʻikepili.
- ʻO ka maʻalahi i ka loaʻa ʻana o nā mana polymorphic o ka papa like.
- Ua hōʻemi ʻia ka pae kiʻekiʻe o ka paʻakikī code e ka abstraction.
- Ma kahi o ka kānana ʻana i nā haneli o nā laina code e ʻimi i kahi pilikia hoʻokahi, ʻo ka modularity o ka hoʻonohonoho ʻana e maʻalahi ka debugging.
- Hoʻohana hou ʻia ke code ma muli o ka hoʻoilina o ka papa keiki i nā waiwai o ka papa makua.
- Hiki ke hoʻoholo i ka pilikia no ka mea hana mākou i nā papa e hana i nā hana kūpono no kēlā me kēia pilikia liʻiliʻi. Hiki ke hoʻopau koke ʻia kēia pilikia ma hope mai ka hiki iā mākou ke hoʻohana hou i kēlā mau papa.
Panina
I ka hopena, ua aʻo mākou e pili ana i nā manaʻo OOPS ma Python, ka papahana hoʻolālā wela loa i kēia manawa.
Ma hope o ka heluhelu ʻana i kēia, ua ʻike paha ʻoe e pili ana ka paradigm OOPS i ka manaʻo o nā papa a me nā mea. a me nā manaʻo OOPS e like me ka encapsulation, polymorphism, hoʻoilina, a me ka abstraction.
Waiho i ka Reply