Meðal þróunaraðila hefur hlutbundin forritun vakið talsvert fylgi. Vinsælt tölvumál Python fylgir sömuleiðis hlutbundnu hugmyndafræðinni.
Það fjallar um að skilgreina hluti og flokka í Python, sem myndar grunninn að OOPs meginreglum. Í þessari kennslu um „hlutbundin forritun í Python,“ munt þú læra hvernig á að lýsa yfir Python flokkum, búa til hluti úr þeim og nota fjórar OOPs tækni.
Svo, það fyrsta fyrst.
Hvað er hlutbundin forritun?
Megináhersla hlutbundinnar forritunar (OOP) er að búa til „hluti“. Safn af samtengdum breytum og föllum myndar hlut.
Þessar breytur eru oft nefndar eiginleikar hlutarins og hegðun hans er oft kölluð hlutverk þess. Þessir hlutir veita forritinu skilvirkari og skiljanlegri uppbyggingu. Bíll er dæmi um hlut.
Ef bíllinn væri hlutur myndu eiginleikar hans innihalda hluti eins og lit, gerð, verð, vörumerki osfrv. Auk þess myndi hann flýta fyrir, hægja á sér og skipta um gír.
Önnur mynd: Ef við hugsum um hund sem hlut, þá gætu sum einkenni hans verið litur, tegund, nafn, þyngd osfrv. Og hann væri að hreyfa sig, gelta, leika osfrv.
Vegna þess að það fellur inn raunveruleg hugtök eins og hluti, felur, arfleifð osfrv. inn í forritun, er hlutbundin forritun vel þekkt. Vegna þess að það er svo líkt raunverulegum aðstæðum er sjóngerð einfaldari.
Hlutbundin forritunarhugtök
Flokkar og hlutir í Python
Eins og öll önnur hlutbundin tungumál gerir Python þér kleift að hanna flokka til að búa til hluti. Vinsælustu gagnategundirnar í Python, þar á meðal strengir, listar, orðabækur og aðrir hlutir, eru innbyggðir flokkar.
Klassi er hópur tengdra aðferða og tilviksbreyta sem skilgreina ákveðna tegund af hlutum. Líta má á flokk sem líkan eða sniðmát fyrir hlut. Breyturnar sem mynda flokk eru þekktar sem eiginleikar.
Hlutur er meðlimur flokks sem hefur skilgreint sett af eiginleikum. Vegna þessa er hægt að búa til hvaða fjölda hluta sem er með sama flokki.
Python flokkar eru skilgreindir með orðaflokknum, sem síðan er fylgt eftir með heiti flokks og tvípunktur. Dæmi um páfagaukaflokk gæti verið:
Hér lýsum við yfir tóma bekknum Parrot með því að nota bekkjarlykilorðið. Við búum til dæmi úr bekkjum. Tilvik er tiltekinn hlutur sem var gerður úr ákveðnum flokki. 'pass' er oft notað sem staðgengill fyrir kóða sem við gætum sleppt útfærslu á í augnablikinu. Við getum framkvæmt Python kóðann án þess að koma upp villu með því að nota „pass“ lykilorðið.
Staðfesting á flokki leiðir til hluts (tilviks). Aðeins lýsing hlutarins er skilgreind þegar flokkur er búinn til. Þar af leiðandi er hvorki geymsluplássi né vinnsluminni úthlutað.
Dæmi um páfagaukaflokkshlut er:
Obj er hlutur í Parrot-flokki í þessu tilviki.
Segjum að við vitum einstök atriði um páfagauka. Við munum nú sýna hvernig á að búa til páfagaukaflokkinn og hluti hans.
Sérstök aðferð (__init__)
Aðferð sem kallast init skilgreinir eiginleikana sem sérhver Parrot hlutur verður að hafa (). Þegar nýr Parrot hlutur er myndaður, skapar aðgerðin __init__ upphafsstöðu hlutarins með því að úthluta þeim gildum sem við gefum innan eiginleika hlutarins.
Þannig að hvert nýtt tilvik af bekknum er frumstillt með því að nota __init__(). Þó að __init__() geti samþykkt hvaða fjölda færibreyta sem er, er sjálf alltaf fyrsta færibreytan.
Tilvísun í virka bekkjartilvikið er innifalið í sjálfsröksemdinni. Sjálfsbreytan, sem tengist heimilisfangi núverandi hlutar flokks og gefur okkur aðgang að breytum hans (hlutarins) gögnum, gefur til kynna það.
Dæmi 1
Við stofnuðum flokk sem heitir Parrot í ofangreindum kóða. Næst eru eignir skilgreindar. Einkenni hlutar eru eiginleikar hans. __init__ fall flokksins er þar sem þessi einkenni eru tilgreind.
Þegar hlutur er myndaður er frumsetningaraðferðin sú sem er kölluð upphaflega. Þá eru tilvik af Parrot bekknum búin til. Blaze og Wonda í þessu tilviki eru tilvísanir (gildi) í nýju hlutina okkar. __class .species gerir okkur kleift að fá aðgang að class eigindinni.
Sérhvert tilvik af flokki hefur sömu eiginleika. Einnig er hægt að nálgast einkenni tilviksins með því að nota blaze.name og blaze.age. Öll tilvik flokks hafa þó einstaka tilvikseiginleika.
Dæmi 2
aðferðir
Aðgerðir sem eru skilgreindar inni í líkama bekkjar eru kallaðar aðferðir. Þeir eru notaðir til að tilgreina hvernig hlutur mun haga sér.
Tvær aðferðir, sing() og dans, eru skilgreindar í fyrrnefndri umsókn (). Vegna þess að þeir eru kallaðir fram á tilvikshlut, eins og logi, er vísað til þeirra sem tilviksaðferðir.
Grundvallaratriði OOPS hugmyndarinnar
Fjórar kjarnahugmyndir hlutbundinnar forritunar eru:
- Erfðir
- Encapsulation
- Fjölbreytni
- Útdráttur
Erfðir
Fólk segir nýburum oft að þau hafi andlitseiginleika sem líkjast einkennum foreldra þeirra eða að þau hafi erft sérstaka eiginleika frá foreldrum sínum.
Það er mögulegt að þú hafir líka tekið eftir því að þú deilir nokkrum einkennum með foreldrum þínum. Raunverulega ástandið er líka nokkuð svipað og arfleifð.
Hins vegar, í þessu tilviki, eru eiginleikar „foreldraflokkanna“ sendir til „barnaflokkanna“. Þessir þættir eru nefndir „eiginleikar“ og „aðferðir“ í þessu samhengi.
Bekkur getur dregið aðferðir sínar og eiginleika frá öðrum flokki með því að nota tækni sem kallast erfðir. Erfðir eru ferlið þar sem barnaflokkur fær eignir foreldrabekkjar.
Dæmi:
Foreldraflokkurinn Human erfir af barnaflokknum Boy í dæminu hér að ofan. Vegna þess að Boy erfir frá Human getum við fengið aðgang að öllum aðferðum þess og eiginleikum þegar við búum til tilvik af Boy bekknum.
Í Strákabekknum hefur einnig verið skilgreind aðferð sem kallast schoolName. Foreldri bekkjarhluturinn hefur ekki aðgang að aðferðinni schoolName. SchoolName aðferðina er hins vegar hægt að kalla með því að búa til barnaflokkshlut (Boy).
Encapsulation
Að veita hverri breytu í forritinu alþjóðlegan aðgang er ekki skynsamlegt þegar unnið er með flokka og meðhöndlun viðkvæmra gagna.
Án þess að veita forritinu fullan aðgang að neinni af þessum breytum, veitir innkapsling okkur kerfi til að fá nauðsynlegar breytur.
Aðferðir sem eru skilgreindar sérstaklega í þeim tilgangi er hægt að nota til að uppfæra, breyta eða eyða gögnum úr breytum. Þessi aðferð við forritun hefur þá kosti að auka öryggi og stjórn á inntak gagna.
Sjáðu hversu fljótt hægt er að nálgast breytur í sýnikennslunni hér að neðan:
Fjölbreytni
Segjum að þú sért að nota símann þinn til að vafra um Instagram straumar. Þegar þú fékkst löngun til að hlusta á tónlist fórstu á Spotify og byrjaðir að spila uppáhaldslagið þitt.
Eftir nokkurn tíma fékkstu símtal, svo þú gerðir hlé á því sem þú varst að gera í bakgrunni til að svara því. Vinur þinn hringdi og bað um að þú sendir honum sms með símanúmeri ákveðins einstaklings.
Svo þú sendir honum símanúmerið í gegnum SMS og hélt áfram með verkefnin þín. Hefurðu tekið upp á einhverju? Með aðeins einu tæki - farsímanum þínum - gætirðu vafrað í gegnum strauma, hlustað á tónlist, tekið og hringt símtöl og skilaboð.
Þess vegna er fjölbreytileiki sambærilegur við það. Pólý þýðir fjölmargir og form táknar mismunandi form. Þess vegna vísar fjölbreytni í heild til einhvers með ýmsum myndum.
Eða „eitthvað“ sem, eftir aðstæðum, getur sýnt margvíslega hegðun. Í OOPS lýsir polymorphism föllum með sömu nöfnum en mismunandi hegðun. Að öðrum kosti, önnur fallundirskrift með sama fallheiti (færibreytur sendar til fallsins).
Dæmi:
Hér getum við notað breytilega dýrið til að endurtaka hlutina í Zebra og Kanínu, með því að nota tilviksaðferðir þeirra. Þar af leiðandi er hegðun (litur() og étur()) bæði sebrahestsins og kanínunnar táknuð hér með einni breytu sem kallast dýr. Það er því að fylgja polymorphism reglum.
Útdráttur
Þú notar líklega fartölvu, síma eða spjaldtölvu til að lesa þetta efni. Meðan þú lest það ertu líka væntanlega að taka minnispunkta, undirstrika lykilatriði og geymir kannski einhverjar upplýsingar í persónulegum skrám þínum.
Allt sem þú getur séð þegar þú lest þetta er „skjár“ með gögnunum sem eru birtar þér. Þú sérð bara lykla lyklaborðsins þegar þú skrifar, svo þú þarft ekki að hafa áhyggjur af innri fíngerðum eins og hvernig ýta á takka getur valdið því að orðið birtist á skjánum.
Að öðrum kosti, hvernig með því að ýta á hnapp á skjánum þínum geturðu ræst nýjan flipa.
Þess vegna er allt sem við getum fylgst með í þessari stöðu abstrakt. Við getum aðeins séð útkomuna sem það skapar en ekki innri flækjur (sem í raun skipta okkur máli).
Svipað og þetta sýnir útdráttur aðeins þær aðgerðir sem allt býr yfir en leynir öllum útfærslum eða innri smáatriðum.
Meginmarkmið Abstraktions er að leyna bakgrunnsupplýsingum og hvers kyns óviðkomandi gagnaútfærslu þannig að fólk sjái aðeins það sem það þarf að sjá. Það hjálpar til við að stjórna margbreytileika kóðans.
Dæmi:
Hér er ökutækjatengdur abstraktflokkur. Vegna þess að það erfir frá abstraktflokknum ABC er það abstrakt. Vegna þess að óhlutbundnar aðferðir eru ekki skilgreindar eða haldast tómar, hefur flokkurinn Ökutæki óhlutbundna aðferð sem kallast „no of wheels“ sem vantar skilgreiningu.
Þeir gera ráð fyrir flokkunum sem erfa abstrakt flokkana til að gefa útfærslu aðferðarinnar.
Kostir OOPS hugtaka
- Með því að umlykja, er háu öryggi og gagnavernd náð.
- Sveigjanleiki í því að hafa margar fjölbreytilegar útgáfur af sama flokki.
- Hátt flókið kóða var minnkað með abstrakt.
- Í stað þess að sigta í gegnum hundruð lína af kóða til að finna eitt vandamál, gerir máta forritunar villuleit einfalda.
- Endurnotkun kóða stafar af arfleifð barnabekks á eiginleikum foreldrabekkjar.
- Skilvirk vandamálalausn er möguleg vegna þess að við búum til flokka sem gera nauðsynlegar aðgerðir fyrir hvert smávandamál. Eftirfarandi vandamál er hægt að leysa enn hraðar þar sem við getum endurnýtt þá flokka.
Niðurstaða
Að lokum lærðum við um OOPS hugmyndir í Python, heitustu forritunarfyrirmyndinni núna.
Eftir að hafa lesið þetta hlýtur þú að hafa áttað þig á því að OOPS hugmyndafræðin fjallar algjörlega um hugmyndina um flokka og hluti. og OOPS hugtök eins og encapsulation, polymorphism, erfðir og abstrakt.
Skildu eftir skilaboð