Fizahan-takelaka[Afeno][Aseho]
Teo amin'ireo mpamorona, ny fandaharana miompana amin'ny zavatra dia nahasarika mpanaraka be dia be. Ny fiteny informatika malaza Python koa dia mifikitra amin'ny paradigma mifototra amin'ny zavatra.
Izy io dia miresaka momba ny famaritana zavatra sy kilasy amin'ny Python, izay fototry ny fitsipiky ny OOPs. Amin'ity lesona ity momba ny "programming miompana amin'ny zavatra amin'ny Python", dia hianatra ny fomba hanambarana kilasy Python ianao, hamorona zavatra avy amin'izy ireo ary hampiasa ireo teknika OOP efatra.
Noho izany, ny zavatra voalohany aloha.
Inona no atao hoe fandaharana miompana amin'ny zavatra?
Ny tena ifantohan'ny fandaharana miompana amin'ny zavatra (OOP) dia ny famoronana "zavatra". Ny fitambaran'ny fari-pahalalana sy fiasa mifandray dia mandrafitra zavatra iray.
Ireo fari-pitsipika ireo dia antsoina matetika hoe toetran'ny zavatra, ary ny fitondran-tenany dia antsoina matetika hoe ny asany. Ireo singa ireo dia manome rafitra mahomby sy azo takarina kokoa ny fampiharana. Ny fiara dia ohatra iray amin'ny zavatra iray.
Raha zavatra iray ny fiara, ny toetrany dia ahitana zavatra toy ny lokony, ny modely, ny vidiny, ny marika, sns. Fanampin'izany, dia hanafaingana sy hiadana ary hiova fiadiana.
Fanoharana hafa: Raha heverina ho zavatra ny alika iray, dia mety ho loko, karazana, anarana, lanjany, sns ny sasany amin'ireo toetrany.
Satria ampidiriny ao anatin'ny fandaharana ireo foto-kevitra tena misy toy ny zavatra, afenina, lova, sns, dia fantatra tsara ny fandaharana miompana amin'ny zavatra. Satria mitovy amin'ny zava-misy eo amin'izao tontolo izao izy io, dia atao tsotra kokoa ny fijerena sary.
Hevitra momba ny fandaharana miompana amin'ny zavatra
Kilasy & zavatra amin'ny Python
Sahala amin'ireo fiteny miompana amin'ny zavatra hafa rehetra, ny Python dia mamela anao hamolavola kilasy hamokarana zavatra. Ny karazana angona malaza indrindra amin'ny Python, ao anatin'izany ny tady, ny lisitra, ny diksionera ary ny zavatra hafa, dia kilasy natsangana.
Ny kilasy dia vondron'ny fomba mifamatotra sy ny fari-piadidiana ohatra izay mamaritra karazana zavatra iray. Ny kilasy iray dia azo jerena ho modely na môdely ho an'ny zavatra iray. Ny fari-piainana mandrafitra kilasy iray dia fantatra amin'ny anarana hoe toetra.
Ny zavatra dia mpikambana ao amin'ny kilasy iray izay manana karazana toetra voafaritra. Noho izany dia azo noforonina amin'ny fampiasana kilasy iray ihany ny zavatra maromaro.
Ny kilasy Python dia faritana amin'ny fampiasana ny teny classe, izay arahin'ny anaran'ny kilasy sy colon. Ny fanoharana momba ny kilasy boloky dia mety:
Eto izahay dia manambara ny kilasy tsy misy na inona na inona amin'ny fampiasana ny teny fototra. Mamorona ohatra avy amin'ny kilasy izahay. Ny ohatra dia zavatra manokana natao avy amin'ny kilasy iray. Ny 'pass' dia matetika ampiasaina ho toy ny fijoroana ho an'ny kaody izay mety handalo amin'izao fotoana izao ny fampiharana azy. Afaka manatanteraka ny kaody Python tsy misy hadisoana isika amin'ny fampiasana ny teny fanalahidy "pass".
Ny fampidirana kilasy iray dia miteraka zavatra (ohatra). Ny famaritana ny zavatra ihany no voafaritra rehefa misy kilasy iray noforonina. Vokatr'izany dia tsy misy fitahirizana na RAM omena.
Ohatra iray amin'ny zavatra kilasy boloky dia:
Obj dia zavatra kilasy Parrot amin'ity tranga ity.
Andeha hatao hoe mahafantatra ny momba ny boloky isika. Hasehontsika izao ny fomba hamoronana ny kilasin'ny boloky sy ny zavatra ao aminy.
Fomba manokana ( __init__ )
Ny fomba antsoina hoe init dia mamaritra ny toetra tsy maintsy ananan'ny zavatra Parrot rehetra (). Rehefa miforona ny zavatra Parrot vaovao, ny fonction __init__ dia mamorona ny toetry ny zavatra voalohany amin'ny alàlan'ny fanomezana ny soatoavina omenay ao anatin'ny fananan'ilay zavatra.
Noho izany, ny tranga vaovao tsirairay amin'ny kilasy dia atomboka amin'ny fampiasana __init__(). Na dia __init__() aza dia afaka manaiky masontsivana maromaro, ny tena dia ny paramètre voalohany foana.
Ny fanondroana ny ohatra kilasy mavitrika dia tafiditra ao amin'ny adihevitra momba ny tena. Ny mari-pamantarana manokana, izay mifandray amin'ny adiresin'ny zavatra ankehitriny amin'ny kilasy iray ary manome antsika fahafahana miditra amin'ny angon-drakitra miovaova (ilay zavatra), dia midika izany.
Example 1
Nanangana kilasy antsoina hoe Parrot izahay ao amin'ny kaody etsy ambony. Manaraka izany dia voafaritra ny fananana. Ny toetran'ny zavatra iray dia ny toetrany. Ny asan'ny __init__ an'ny kilasy no misy ireo toetra ireo.
Rehefa miforona ny zavatra iray, ny fomba fanombohana dia ilay antsoina amin'ny voalohany. Avy eo dia noforonina ny ohatra amin'ny kilasy Parrot. Blaze sy Wonda amin'ity tranga ity dia references (soatoavina) ho an'ny zavatra vaovao. __class .species dia ahafahantsika miditra amin'ny toetran'ny kilasy.
Samy manana ny toetrany ny ohatra tsirairay amin'ny kilasy iray. Ny toetran'ny ohatra dia azo idirana amin'ny fampiasana blaze.name sy blaze.age. Ny tranga rehetra amin'ny kilasy iray dia manana toetra tsy manam-paharoa, na izany aza.
Example 2
fomba
Ny fiasa voafaritra ao anatin'ny vatan'ny kilasy dia antsoina hoe fomba. Ampiasaina izy ireo mba hamaritana ny fomba fitondran'ny singa iray.
Ny fomba roa, mihira () sy dihy, dia voafaritra ao amin'ny fampiharana voalaza etsy ambony (). Satria izy ireo dia antsoina amin'ny zavatra ohatra, toy ny lelafo, ireo dia antsoina hoe fomba ohatra.
Fototry ny foto-kevitra OOPS
Ny hevitra fototra efatra amin'ny fandaharana mifototra amin'ny zavatra dia:
- lova
- encapsulation
- Polymorphism
- Abstraction
lova
Matetika ny olona no milaza amin'ny zaza vao teraka fa manana toetra mitovy amin'ny an'ny ray aman-dreniny izy ireo, na nandova toetra manokana avy amin'ny ray aman-dreniny.
Mety ho hitanao koa fa manana toetra vitsivitsy amin’ny ray aman-dreninao ianao. Ny zava-misy eo amin'izao tontolo izao dia mitovy amin'ny lova ihany koa.
Na izany aza, amin'ity tranga ity, ny toetran'ny "kilasy ray aman-dreny" dia nafindra tany amin'ny "kilasy ankizy". Ireo lafiny ireo dia antsoina hoe "properties" sy "fomba" amin'ity toe-javatra ity.
Ny kilasy iray dia afaka maka ny fomba sy ny toetrany avy amin'ny kilasy hafa amin'ny fampiasana ny teknika antsoina hoe lova. Ny lova dia ny dingan'ny kilasin'ny ankizy iray mandray ny fananan'ny kilasin'ny ray aman-dreny.
ohatra:
Ny kilasin'ny ray aman-dreny Olombelona dia nolovain'ny ankizy kilasy Boy amin'ny ohatra etsy ambony. Satria mandova avy amin'ny Olombelona ny Boy, dia afaka miditra amin'ny fomba sy toetrany rehetra isika rehefa mamorona ohatra amin'ny kilasy Boy.
Ao amin'ny kilasy Boy, misy fomba iray antsoina hoe schoolName dia voafaritra ihany koa. Tsy afaka miditra amin'ny method schoolName ny object class parent. Ny fomba schoolName anefa dia azo antsoina amin'ny famoronana zavatra kilasy ankizy (Boy).
encapsulation
Ny fanomezana ny fari-piainana rehetra ao amin'ny programa fidirana manerantany dia tsy fihetsika feno fahendrena rehefa miasa miaraka amin'ny kilasy sy mitantana angona saro-pady.
Raha tsy manome ny programa fidirana tanteraka amin'ny iray amin'ireo fari-piainana ireo, ny encapsulation dia manome mekanika ahafahantsika mahazo ireo fari-piainana ilaina.
Ny fomba voafaritra mazava ho an'ny tanjona dia azo ampiasaina hanavaozana, hanovana na hamafa ny angona avy amin'ny variables. Ity fomba fandaharana ity dia manana tombony amin'ny fiarovana ny fiarovana sy ny fanaraha-maso ny fampidirana data.
Jereo ny hafainganam-pandeha azo idirana amin'ny fihetsiketsehana etsy ambany:
Polymorphism
Andeha hatao hoe mampiasa ny findainao ianao hijerena ny Instagram feeds. Rehefa nahazo faniriana hihaino mozika sasany ianao dia niditra tao amin'ny Spotify ary nanomboka nilalao ny hira tianao indrindra.
Rehefa afaka kelikely, dia naharay antso ianao, ka nampiato izay rehetra nataonao tao ambadika mba hamaly izany. Niantso ny namanao ary nangataka anao handefa hafatra amin'ny nomeraon-telefaon'ny olona iray.
Dia nalefanao tamin'ny SMS ny laharan-telefaona ary nanohy ny asanao. Efa nahazo zavatra ve ianao? Amin'ny alalan'ny fitaovana iray monja—ny findainao—dia afaka mivezivezy amin'ny fahana ianao, mihaino mozika, mandray sy manao antso an-telefaona ary mandefa hafatra.
Noho izany, ny polymorphism dia mitovy amin'izany. Ny poly dia midika hoe maro, ary ny morph dia manondro endrika samihafa. Noho izany, ny polymorphism amin'ny ankapobeny dia manondro zavatra misy endrika isan-karazany.
Na "zavatra" izay, miankina amin'ny toe-javatra, dia afaka mampiseho fihetsika isan-karazany. Ao amin'ny OOPS, ny polymorphism dia mamaritra ny asa miaraka amin'ny anarana mitovy fa ny fitondran-tena miavaka. Raha tsy izany, sonia fiasana hafa miaraka amin'ny anaran'asa mitovy (parametra alefa amin'ny fiasa).
ohatra:
Eto isika dia afaka mampiasa ny biby miovaova mba hivezivezy amin'ny zavatra momba ny Zebra sy ny Bitro, amin'ny fampiasana ny fomba fiasany avy. Vokatr'izany, ny fitondran-tena (loko () & mihinana ()) an'ny Zebra sy ny Bitro dia aseho eto amin'ny fari-piadidiana tokana antsoina hoe biby. Noho izany dia manaraka ny fitsipika polymorphism.
Abstraction
Azo inoana fa mampiasa solosaina finday, finday, na takelaka ianao hamakiana ity atiny ity. Eo am-pamakiana azy, dia azo inoana fa maka an-tsoratra koa ianao, manipika ireo andalan-tsoratra fototra, ary angamba mitahiry fampahalalana sasany ao amin'ny rakitrao manokana.
Ny hany hitanao rehefa mamaky ity ianao dia "ecran" misy ny angona aseho aminao. Hitanao fotsiny ny fanalahidin'ny fitendry rehefa manoratra ianao, ka tsy mila manahy momba ny tsikombakomba anatiny toy ny hoe ny fanosehana fanalahidy dia mety hahatonga an'io teny io hiseho eo amin'ny efijery.
Raha tsy izany, ahoana no ahafahan'ny fanindriana bokotra iray eo amin'ny efijery anao manomboka kiheba vaovao.
Noho izany, na inona na inona azontsika jerena amin'ity toe-javatra ity dia tsy misy dikany. Ny vokatra noforoniny ihany no hitantsika fa tsy ny saro-takarina ao anatiny (izay tena zava-dehibe amintsika).
Mitovy amin'izany, ny abstraction dia manambara fotsiny ny fiasa izay ananan'ny zava-drehetra raha manafina ny fampiharana na ny antsipiriany anatiny.
Ny tanjona lehibe amin'ny Abstraction dia ny hanafina ny mombamomba azy sy ny fampiharana angon-drakitra hafa mba tsy hitan'ny olona afa-tsy izay tokony ho hitany. Manampy amin'ny fitantanana ny fahasarotan'ny kaody izany.
ohatra:
Misy kilasy abstract mifandraika amin'ny fiara eto. Satria mandova avy amin'ny kilasy abstract ABC izy dia abstract. Satria ny fomba abstract dia tsy voafaritra na mijanona foana, ny Class Vehicle dia manana fomba abstract antsoina hoe tsy misy kodiarana izay tsy misy famaritana.
Miandrandra ny kilasy mandova ny kilasy abstract izy ireo mba hanomezana fampiharana ny fomba.
Tombontsoa azo avy amin'ny foto-kevitra OOPS
- Amin'ny alàlan'ny encapsulating, azo antoka ny fiarovana ambony sy ny tsiambaratelon'ny data.
- Flexibility amin'ny fananana dikan-teny polymorphic maro amin'ny kilasy iray ihany.
- Ny haavon'ny fahasarotan'ny kaody dia nihena tamin'ny alàlan'ny abstraction.
- Raha tokony ho sivana andalana an-jatony amin'ny kaody mba hahitana olana tokana, ny modularity ny fandaharana dia mahatonga ny debugging ho tsotra.
- Ny fampiasana indray ny kaody dia vokatry ny fandovan'ny kilasin'ny ankizy ny fananan'ny ray aman-dreny.
- Ny famahana olana mahomby dia azo atao satria mamorona kilasy izay manao ny hetsika ilaina ho an'ny olana kely tsirairay. Ity olana manaraka ity dia azo voavaha haingana kokoa satria azontsika ampiasaina indray ireo kilasy ireo.
Famaranana
Ho fehiny, nianatra momba ny hevitra OOPS amin'ny Python izahay, ilay paradigma fandaharana mafana indrindra amin'izao fotoana izao.
Rehefa avy namaky an'ity ianao dia tsy maintsy ho tonga saina fa ny paradigma OOPS dia mifandraika amin'ny hevitry ny kilasy sy ny zavatra. ary ny foto-kevitra OOPS toy ny encapsulation, polymorphism, lova, ary abstraction.
Leave a Reply