Polymorphism-ka barnaamijyada bar-tilmaameedka

Ma rabtaa inaad ogaato Polymorphism -ka? Maqaalka soo socda, waxaan ku siin doonaa macluumaad faahfaahsan oo ku saabsan waxa loo yaqaan Polymorphism-ka barnaamijyada bar-tilmaameedka.

polymorphism-in-object-oriented-programming-1

Polymorphism-ka barnaamijyada bar-tilmaameedka

In kasta oo ay u ekaan karto eray leh sharraxaad xoogaa adag, runtii mawduucan la xiriira kombiyuutarka wuxuu la xiriiraa dhinacyo asaasi u ah gebi ahaanba. Markaad wax barato Barnaamij ujeedo-ujeedo leh, waxaan la kulmi karnaa sharraxaaddan, oo micnaheedu yahay si fudud sharraxaadda gobollo badan oo suuragal ah oo ah hanti keliya.

Xisaabinta, waa mid ka mid ah astaamaha aasaasiga u ah barnaamijyada ku-jihaysan shayga sidoo kale waa farsamo loo adeegsado fayrasyada kombiyuutarka ama gooryaanka si loo beddelo qaybo ka mid ah koodhkooda taasoo ka dhigaysa mid adag helistooda. Tani waxay si loo fududeeyo Waxyaabo badan marka barnaamij wax la samaynayo marka aynaan doonayn inaan si gaar ah u eegno oo aan u baahanahay wax ka sii shaqeynaya oo la jaanqaadaya hab shaqo oo ballaaran, taas oo yareynaysa shaqada waxayna naga caawineysaa inaan awoodno inaan qabanno wax ka sii firfircoon oo dabacsan.

Kahor intaanan toos ugu boodin barta, waxaan sharxi doonnaa fikradaha qaarkood waxaanan burburin doonaa qeexitaannada u adeegi doona af furan, ma aha oo kaliya inaan si fiican u fahanno, laakiin inaan fahanno hawlgalkeeda, ahmiyaddeeda, iyo sida ay waxtar ugu yeelan karto dhinaca sayniska kombiyuutarka, taasoo naga caawineysa inaan dabcinno shaqadeena. Waxaa laga yaabaa inaanan helin wax cusub ka hor inta aan si toos ah ugu boodin polymorphism -ka OOP, laakiin waxaa muhiim ah inaan maanka ku hayno dhammaan waxyaabaha soo socda si aan si habboon wax u fahamno.

Fikradda polymorphism-ka ee ku wajahan bar-tilmaameedka shaygu wuxuu asal ahaan ka soo jeedaa Simula 67, oo ah luuqadda barnaamijka, oo loo sameeyay in lagu sameeyo jilitaanno. Tan waxaa abuuray Ole Joha Dahl iyo Kristen Nygaard oo ka tirsan xarunta xog -ogaalka Norway ee Oslo.

Xaruntani waxay u heellanayd jilitaanka maraakiibta, waxaa jiray jahwareer badan oo ka dhashay qaraxa sababta oo ah kala duwanaanshaha u dhexeeya, markii maraakiibtan lagu soo ururiyay kala soocidooda si ay u abuuraan kantarool badan waqtiga daraasaadka, markaas ayay fikirkaasi hirgashay. sabee.

Qaab -dhismeedka barnaamijkan ee 80 -meeyadii ayaa ku badnaa dhammaan aagagga xisaabinta sababtuna waa sumcaddiisa weyn ee C ++ oo ah luuqadda kale ee barnaamijyada C. Thanks to the interfaces user interfaces the dominance of the method has done very well.

Polymorphism-ka barnaamijyada bar-tilmaameedka ayaa leh dhowr astaamood, kuwaas oo lagu dabaqay luuqado kala duwan oo la adeegsan jiray waqtigaas, sida: Ada, BASIC, LISP, Pascal, iyo kuwo kale oo badan, in kasta oo ay soo mareen dhibaatooyin iswaafajin kala duwan.

Si aad u hesho sharraxaad faahfaahsan oo ku saabsan waxa Polymorphism-ku ku jiro barnaamijyada ku-jihaysan shayga, waxaan kugu martiqaadeynaa inaad daawato fiidiyaha soo socda:

Polymorphism iyo Dhaxalka

Horgalaha horudhaca ah wuxuu asal ahaan ka soo jeedaa Giriigga, sidaa darteed sharraxaaddiisa saxda ah waxaa loola jeedaa faro badan, badan ama kala duwan, iyo morphism -ku waa duluc Giriig ah oo galaya sameynta ereyada macnaha qaabka, halabuurka, ama qaab dhismeedka jirka. Markaan xisaabta ku darsanno, waxaan geli karnaa waxaan rabno inaan ku sharaxno jajabkaan, eraygeenna ugu weyn wuxuu asal ahaan qeexitaan ahaan u yahay noocyo kala duwan oo uu sameeyay qaab dhismeedka jirka; Qeybaha kala duwan ee xisaabta, maababka waxaa loogu yeeraa codsiyada u dhexeeya dhismayaasha xisaabeed ee ilaaliya dhismaha gudaha.

Si arrintan loo caddeeyo, waxaan isbarbar dhigi karnaa polymorphism -ka iyo dhaxalka. Si kale haddii loo dhigo, tani waxay noo oggolaaneysaa inaan ku fulinno polymorphisms -ka kala sarreynta kala -soocidda. Waxa kale oo muhiim ah in la xuso in kuwan lagu bixiyo dhaxal, ilaa inta dhaxalka, oo aan u fahmi karno inuu yahay shey ka soo jeeda, had iyo jeer waa isku fasal; Si aan u bixinno tusaalaha waxa la sharxay, waxaan dhihi karnaa erayga gaadiid, dhowr fasal ayaa soo baxaya, sida baabuur, mooto, iyo bas, markaan sidaas u aragno, polymorphism -ka iyo dhaxalka waa laba fikradood oo aan la inkiri karin.

Muhiimadda Nidaamka Nooca ee Polymorphism

Magacaabidda kala-soociddaas oo ah nidaam nooc ah, maxaa yeelay soo-saareyaasha eraygaasi weli waa qayb iyaga ka mid ah, laakiin sababta ay tani muhiim ugu tahay barnaamij-u-jihaynta barmaamiyaha polymorphism-ka?

Qaar badan oo ka mid ah dadka galay maqaalkan ayaa laga yaabaa inay yaqaanaan waxa ay tahay in lagu baro barnaamijyada luuqadaha daciifka ah, sida ay ahaan lahayd Javascript iyo PHP, si kastaba ha ahaatee waxaa muhiim ah inaan si fiican u fahanno waxay tahay.

Luqadda noocan ah, marka la qeexayo doorsoomaha, waa inaan had iyo jeer tilmaamnaa nooca aan rabno in doorsoomahaasi ku jiro, tusaale ahaan: int myNumber.

Sidan ayaan fursad ugu leenahay inaan tilmaamno in doorsoomaha loo asaasay "myNumber" uu had iyo jeer ku jiri doono hal lambar; haddii kale, isku -duwaha ayaa nagu soo tuuri lahaa farriin qalad ah oo noo diidaya inaan isku dubaridno barnaamijka aan samaynay.

Xaqiiqdii, tani waxay sidoo kale ku dhici kartaa walxaha, haddii Java aan ku qeexno fasalka "filim muuqaal ah", annagoo u garaneyna ereygan inuu yahay filim masawir soconaya in ka badan hal saac, markaan abuureyno walxaha fasalka "muuqaalka muuqaalka" waa inaan tilmaamnaa doorsoomayaasha lagu muujiyo nooca shayga la doonayo in la sameeyo. Waxaan u sheegi karnaa sidan:

Filimka muuqaalka ah miLargo = filim muuqaal cusub ah

Doorsoomahayagu wuxuu noqon doonaa "myLong" oo aan soo bandhigno tan, waxaan tixraac u yeelan doonnaa shayga fasalka ama noocyada "Filimka Muuqaalka", oo inta ay sii soconayso waa inay had iyo jeer lahaataa shay kasta oo isku fasal ah ama nooc ah, markaan idhi waxaa muhiim ah inaad ogaato si aadan ugu kaydin karin hal -doorsoome doorsoomaha, ama shay kale oo nooc ama dabaqad kale ah, oo aan ahayn dhaxal oo aan xiriir lahayn.

Haddii aan dib ugu noqonno sheegidda tusaalaha baabuurta iyo noocyadooda, waxaa muhiim ah in la caddeeyo haddii aan go'aansanno inaan qeexno doorsoomaha tilmaamaya shayga fasalka «moto», halka doorsoomahani sii jiro, waa inuu had iyo jeer farta ku fiiqo shay la xiriira ama laga dhaxlay fasalka «mooto», ma aha fasalka «baabuur», mana 'bas'; si kastaba ha ahaatee, afafka daciifka ah sida kuwa aan hore u soo sheegnay, dabacsanaan la'aantani ma jirto, inkasta oo ay tahay astaan ​​guud oo ka mid ah luuqadaha sida aadka ah u gufsan sida Java. Halkan waxaa ah tusaale ka sii ballaaran:

  • Baabuurka MyCar = Baabuur cusub (Mazda 2 ″): Mazda 2 waxay dhaxal u noqon doontaa shayga ka tirsan dabaqaddaas ama noocaas, waana kan uu doorsoomahu tilmaamayo, oo haddii aan rabno, berri waxay tilmaami kartaa shay kale oo Baabuurkayga.

MyCar = Baabuur cusub (Ford Focus 2.0 ″)

Waxa aannaan waligeen sameyn karin ayaa ah inaan ku kaydiyo doorsoomayaashayada kala duwan sida fasalka Baabuurka, wax kale oo aan xiriir la lahayn nooca Baabuurka, maxaa yeelay markaa waxaan yeelan lahayn khalad waqti-uruurin ah, haddii ay dhacdo, waa inay badbaadisay New Car Ford Focus 2.0 waxaan dooran lahayn Moto Yamaha YBR Cusub.

Waa in la caddeeyo in waqtigan aan ka hadleynin polymorphism -ka illaa hadda, laakiin waxaan tijaabineynaa barnaamijyada guud ahaan nidaamka nooca; Ujeedadu waxay tahay waa inaan maankeenna u furin dhibaatooyinka ay xannibaadda afafka aadka loo safri karo na siin karto si aan hadhow u fahanno sababta ay polymorphism-ku muhiim u tahay iyo qayb muhiim ah oo ka mid ah polymorphism-ka barnaamijyada bar-tilmaameedka.

Luqadda kombiyuutarka oo si buuxda loo qorey marka hawl la muujiyo, waa inaan had iyo jeer ahaannaa qodob muhiim ah marka la wargelinayo nooca xeerarka ay qaadanayso. Hawsha aan aasaasnay, uma gudbin karno wax kale oo aan ahayn doorsoomayaal ama suugaan leh qiyamka isku -darka sida caadooyinka, haddii ay dhacdo inaan ku gudubno xog kale oo leh noocyo kale, isku -duwaha ayaa beddeli doona, noo oggolaan maayo inaan ururino barnaamijka sababta oo ah markay sidaas tahay ma heli karto noocyada la filayo ee xuduudaha shaqada.

moto-car-1

Polymorphism ee walxaha

Ugu dambayntii, waxaynu gaadhnay qaybtii si dhab ah u tilmaamaysay mawduucan xiisaha leh, taasina waa sababta nidaamkan hoostiisa loogu samaynayo xubno u gaar ah oo muujiya fasalladiisa iyo ujeeddooyinkiisa, maadaama ay shaqaynayaan luuqado si xoog leh wax loo qoro oo ah nooca aan tilmaamnay markii aan aasaasnay.

Taasi waa wax lama huraan ah in la xusuusto, hadda, hawl ay cabbirkeeda lagu dhawaaqay fasal, ayaa na aqbali doonta oo keliya inaan helno walxaha fasalkaas; Array la sheegay in uu ka kooban yahay walxo nooc gaar ah ayaa noo oggolaan doona oo keliya in aan sanduuqyadiisa ka buuxinno walxaha noocaas ah ee aan aasaasnay; waxaan soo bandhigi doonaa tusaale kale:

Baabuur [] myVehiculos = Baabuur cusub [3]

Tusaalahan aan bixineyno, waa doorsoome ah kala -sooc oo dhexdeeda waxaan ku caddeynnaa in waxyaabaha ku jira sanduuqyadu ay noqon doonaan walxaha fasalka Baabuurka, luuqad aad u safraysa waxay ka koobnaan kartaa oo keliya walxaha fasalka baabuurka, sidii aan hore ayaa loo sharxay, laakiin hadda waxaan helnaa polymorphism, kaas oo aan ku siin karno xoogaa dabacsanaan ah nidaamka nooca, oo na siinaya fursad doorsoomaha sidoo kale aqbali kara walxaha fasalka "carruurta" ama derisyada.

Adigoo ka dhigaya nidaamka nooca dabacsanaan kama wada hadlayno guud ahaan, laakiin waxay la xiriirtaa kala soocidda dhaxalka ee aan ku leenahay fasalkayaga ama nidaamyada noocee ah. Haddii aan ku guuleysanno inaan qeexno tirooyin iyadoo la adeegsanayo unugyo fasal la aasaasay, isku -duwaha ayaa naga aqbali doona inaan gelino ereyada "carruur" shaygaas oo aan horay ugu dhignay sanduuqyadaas. , isku -duwaha ayaa noo oggolaan doona inaan noo soo dirno baryada shay ee fasal laga soo qaatay kii aan hore u sheegnay.

Markaan u qaadno wax dheeraad ah oo la taaban karo, kala -soocidda gaadiidkeennu uma oggolaanayso oo keliya inaan gelino gawaarida guud doorsoomaheeda, laakiin sidoo kale dhammaan walxaha ilmaha ama fasallada la soo saaray ee fasalkaan, markaa waxaan haysannaa walxaha baska, baabuurka iyo mootada fasalka ama ilmo kasta. oo aan qeexnay, iyo waxaas oo dhan waxaa mahad leh polymorphism.

Dalbashada Polymorphism

In kasta oo sharraxaadda aan siinnay filimka muuqaalka ah, waxaan rabnaa inaan caddeynno marka laga reebo inaan filim ahayn, waxaan sidoo kale yeelan karnaa dokumentiyo, iyo kuwo kale; laga yaabee labaduba inay leeyihiin astaamo kala duwan, waqtiyo dhagaysi oo kala duwan, qiimayaal kala duwan sababtaas awgeed waxaan go'aansan karnay in fasalkayaga Filimka Muuqaalka uu leeyahay fasallo gabdho ama dhaxal sida "filim" ama "documentary".

Haddii aan abuurno fasal loo aasaasay Cinema iyo hab aan ugu yeeri doonno "taran", waxay u adeegi doontaa halbeeg u ah waxa aan dooneyno inaan ku soo saarno masrax masrax, halkaas oo ay imaan karaan walxaha fasalka shineemada iyo fasalka dokumentiga labadaba, haddii aan si fiican u fahanno nidaamka nooca (annaga oo aan xitaa gelin polymorphism) hababkayagu waxay dejin doonaan noocyada cabbirrada aan helno. Waxay u ekaan doontaa wax sidan oo kale ah:

  • Ciyaar (Filim Filim Si loo ciyaaro)

Laakiin taa bedelkeeda haddii aan dooneyno inaan soo saarno dokumentari waa inaan bedelnaa qaaciddeena.

  • Ciyaar (Documentary Documentary To Play)

Oo runtii ma loo baahan yahay in la abuuro laba qaacido oo kala duwan? Labada hab ee dib -u -soo -saarka labada shay ayaa si isku mid ah isku mid u noqon lahaa, maxaa dhib u keenaya? Waxaan kaliya ku qasbanaan lahayn inaan gelino filimka muujinta ciyaaryahanka, garaacno ciyaar (ama ciyaarno) oo aan ku abuurno rikoor tirada tigidhada u suurtagashay in la iibiyo. In kasta oo aysan ahayn wax dhib ah in la sameeyo labada qaabba, waa inaan ka warqabnaa in laga yaabo in naloo soo bandhigo xaaladda aan ku qasban nahay inaan abuurno qaacido kale, waxaan tusaale u bixin karnaa inaan filim leenahay, laakiin markan qaab 3D ah.

Markan oo kale, waxaan u dhaqaaqi karnaa polymorphism -ka, iyada oo gacan ka heleysa waxaan abuuri karnaa hab tarmaan oo aqoonsan doona dhammaan noocyada walxaha, dukumiintiyada, filimada ama wax kasta oo isku fasal ah (oo la xiriira), oo aan u baahan nahay inaan ku abuurno mustaqbalka. Waxa afafku noo oggolaan lahaa waa in la dejiyo habka taranka oo tilmaamaysa in cabbirka fasalka aan qaadan doonno uu yahay shay dherer leh, laakiin luuqadda iyo soo-ururiyuhu ay aqbali doonaan shay kasta oo laga soo saaray filim ama documentary -ga, waxaa nalooga tagi lahaa wax sidan oo kale ah: ciyaar (Tilmaamaha filimka eeToPlay).

Haddii aan rabno inaan abuurno filimo ama dokumantiyo si aan u soo saarno, waxaas oo dhan waxay ku suurtoobi doonaan hab keliya, oo ah taranka, iyada oo ay ugu wacan tahay polymorphism-ka ku jira barnaamijyada ku-jihaysan waxaan ka dhigeynaa nidaamka mid dabacsan, ma noqon doonto loo baahan yahay. Tusaale ahaan, haddii aad rabto inaad soo saarto filim oo aadan ahayn dokumenti, maahan inaan doorano fasalka Shineemada, laakiin waxaa ku filan in waxa aan dooneyno inaan soo saarno ay qeyb ka tahay dhaxalka shayga filimka muuqaalka ah.

Haddii aan ku soo noqonno tusaalaha gaariga, xitaa maanka ku hayno faa'idada polymorphism -ka iyo suuro -galnimada waxay na siineysaa inaan yareyno dhammaan dayactirka barnaamijyada kombiyuutarka ee ay tahay inaan sameyno haddii aanaan helin caawinta fikraddan.

Aynu nidhaahno waxaan leenahay fasalka Baabuur dhigashada (Isbaanish ahaan waxay noqon doontaa fasalka in la barto dhigashada) oo aan ku dhex leenahay shaqada baarkinka. Goobta baabuurta la dhigto waxaan ku leenahay suurtogalnimada inaan dhigno basaska iyo mootooyinka, marka lagu daro baabuurta oo keliya, iyo polymorphism la'aanteed waa inaan abuurnaa hab noo oggolaanaysa inaan dhigno walxaha nooca "baabuurka" ah iyo mid kale oo noo oggolaanaysa inaan dhigno alaabta nooca "baska" iyo mid kale oo noo oggolaanaya inaan dhigno walxaha nooca "mootada", in kasta oo hannaanka lagu fuliyo tallaabooyinkan in kasta oo farqiga muuqda ee u dhexeeya muuqaalka saddexdaan baabuur uu asal ahaan isku mid yahay, kaliya in mid ka mid ahi uu haysto meel bannaan oo ka badan tan kale.

Waxa ugu saxsan waxay noqon doontaa in la helo hab keliya oo wax noo fududaynaysa oo noo oggolaanaysa inaan helno dhammaan noocyada baabuurta, ma aha oo keliya baabuurta iyo summadaha baabuurta, laakiin dhammaan waxa la oggol yahay oo ka soo jeeda qaaliga ah ee shayga baabuurka. Marka hore waxaynu yeelan doonaa dib -u -isticmaalka koodhkii, sababtoo ah sidii aan horeba u sheegnay, dhigashada baabuurta noocyadan ayaa la mid ah farqiga kaliya ee u bannaan meesha uu mid walba deggen yahay, laakiin waxaa dheer tan, haddii berri nooc kale oo baabuur ah si loogu iibiyo suuqa, waxaan yeelan karnaa suurtogalnimada in software -kaagu awoodo inuu aqbalo iyada oo aan loo baahnayn in wax laga beddelo fasalka Baabuur dhigashada ee hore loo aasaasay.

Waxaan leenahay hal hab oo keliya aqbalaadda dhammaan dhaxalka saxda ah ee laga yaabo inuu gaarigu yeelan karo, taasoo ka dhigaysa shaqada mid dabacsan oo na badbaadisa waqtigii aan ku bixin lahayn hal -abuur nooc kasta oo baabuur ah. Polymorphism-ka ee barmaamijyada ku wajahan shaygu wuxuu albaabada u furaa shay kala duwan oo hal hab lagu aqbali karo.

Waxaan isku dayeynaa inaan u sharraxno polymorphism -ka sida ugu macquulsan oo aan dib -u -eegis ballaaran ku sameyno wax kasta oo ka dambeeya, ma aysan habboonayn in hal mar loo boodo fikradda sidaas oo kale iyadoo aan la bixin taariikhdiisa si ay nooga caawiso inaan fahanno oo aan fahamno muhiimadda ay leedahay iyo adeegsiga aan siin karno.

Lahaanshaha suurtogalnimada in awood loo yeesho in lagu daro dhowr qaab mid, halka soo -jeedintu ay isku raacsan tahay dhaxalka shayga, aad bay waxtar u leedahay maxaa yeelay waxay na badbaadineysaa baahida loo qabo in la abuuro dhowr qasab ah inaan ku noqonno kuwo aad u gaar ah annaga oo aan na siinin suurtagalnimada inaan wax badan qabanno Shaqada dabacsanaanta leh Xaqiiqda ah in aan abuuri karno hab aad u firfircoon oo aan ku maareeyn karno waxa aan barnaamijkeenna u samaynnay, sida ugu fudud in aan ogaanno soo -saaridda saxda ah ee kelmad keli ah, taas oo ah, wax kasta oo ay ka kooban tahay, waxay naga caawisaa in aan qabanno shaqo ka sii hufan.

Waxaan rajeyneynaa inaad ku raaxeysan doonto maqaalkan oo aad baran doonto waxa polymorphism-ku ku jiro barnaamijyada ku wajahan shayga. Haddii aad rabto inaad akhrido maqaallo kale oo ku saabsan barnaamijyada, waxaan kugula talineynaa inaad soo booqato midka soo socda oo na siiya qaab barnaamij aad loo yaqaan oo ka jira adduunka kumbuyuutarka: Barnaamijyada C ++.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Actualidad Blog
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.