Mga computerProgramming

PLO - ano ito? Ang mga pangunahing mga prinsipyo ng mga object-oriented programming

Bakit object-oriented programming ay ginustong sa karamihan ng mga proyekto? PLO nag-aalok ng isang epektibong paraan upang harapin ang kanilang pagiging kumplikado. Sa halip na isinasaalang-alang ng isang programa bilang isang pagkakasunod-sunod ng mga maipapatupad na mga tagubilin, ito ay kumakatawan ito bilang isang grupo ng mga bagay na may ilang mga katangian at makagawa ang mga ito sa ilang mga aksyon. Nagreresulta ito sa isang mas malinaw, mas maaasahan at legkosoprovozhdaemyh aplikasyon.

Ang pangunahing mga prinsipyo ng mga object-oriented programming (OOP) nabuo dahil paghihigpit ay natagpuan sa pre-umiiral na paglalapit. Kabilang sa mga ito - walang limitasyong access sa data at isang malaking bilang ng mga link, na kung saan magpataw ng mga paghihigpit sa ang pagbabago. Ang kanilang kamalayan at dahilan mahalaga na maunawaan kung ano ang OOP programming at ano ang mga pakinabang nito.

wika pamamaraan

C, Pascal, FORTRAN, at mga katulad wika ang pamamaraan. Iyon ay, ang bawat isa sa ang operator ay nagsasabi sa ang computer na gawin ang isang bagay: upang makuha ang data, magdagdag ng hanggang ang mga numero, nahahati sa anim na, ang resulta na ipinapakita. Appendix wika pamamaraan ay pagtuturo listahan. Kung ito ay maliit, walang ibang organizing prinsipyo (kadalasang tinutukoy bilang isang huwaran) ay hindi kinakailangan. programmer ay lumikha ng isang listahan ng mga tagubilin, at ang computer na executes mga ito.

Paghihiwalay ng mga function

Kapag aplikasyon maging mas masalimuot na listahan ng mga liko. Ilang ay maaaring maunawaan ang higit pa kaysa sa isang ilang daang mga tagubilin hanggang sa sila ay naka-grupo. Para sa kadahilanang ito, ang pag-andar ay ang paraan upang gawin ang mga application mas maaaring maunawaan sa mga tagalikha nito. Sa ilang wika, ang parehong konsepto ay maaaring tinatawag na subroutines o pamamaraan.

Ang app ay nahahati sa mga pag-andar, ang bawat isa ay may isang malinaw na tinukoy na layunin at interface.

Ang ideya ng paghihiwalay ng mga pamamaraan ay maaaring pinalawak na sa isang mas malaking pagpapangkat ng mga bagay na tinatawag na isang module, ngunit ang prinsipyo ay analogous: ang pagpapangkat ng mga bahagi na kung saan dalhin ang mga listahan ng mga dokumento.

Paghihiwalay ng mga function at mga module - isa sa mga panulok na bato ng mga balangkas na programming, na para sa ilang mga dekada hanggang sa PLO ay ito poses tularan.

nakabalangkas na problema programming

Tulad ng mga aplikasyon maging mas malaki, naka-balangkas na programming nagsisimula nakakaranas ng mga paghihirap. Proyekto maging masyadong mahirap unawain. Paglipat graphics. Ito ay nagsasangkot ng isang malaking bilang ng mga programmer. Ang pagiging kumplikado ay lumago. Gastos shooting up, ang iskedyul ay shifted pa, at may dumating sa pagbagsak.

Pagsusuri ng mga dahilan ng pagkabigo nagsiwalat deficiencies pamamaraan tularan. Hindi alintana ng kung gaano kahusay nakaayos ipinatupad programming diskarte, malaking mga application na maging overly mahirap unawain.

Ano ang mga sanhi ng mga problema na kaugnay sa pamamaraan wika? Una, ang pag-andar ng walang limitasyong access sa global data. Pangalawa, walang-kaugnayang mga pamamaraan at masamang mga halaga gayahin tunay na mundo.

Kung isaalang-alang namin ang mga isyung ito sa konteksto ng imbentaryo accounting software, isa sa mga pinakamahalagang mga elemento ng pandaigdigang data ay isang hanay ng mga SKU. Iba't ibang mga pag-andar ay maaaring sumangguni sa mga ito upang ipasok ang isang bagong halaga, ito ay ipinakita, pagbabago at iba pa. D.

walang limitasyong access

Ang programa ay nakasulat, halimbawa, sa C, may mga dalawang uri ng data. Lokal na nakatago sa loob ng mga function at iba pang mga pamamaraan ay hindi ginagamit.

Kapag ang dalawa o higit pang mga pag-andar ay may access sa parehong data, ang huli ay dapat na global. Tulad, halimbawa, ay kinuha sa account na impormasyon tungkol sa paksa. Ang global na data ay maaaring maging anumang magagamit na procedure.

Sa isang malaking programa, maraming mga tampok at maraming mga global na mga elemento. Ang problema ng mga pamamaraan paradaym ay na ito ay humahantong sa isang mas malaking bilang ng mga potensyal na link sa pagitan ng mga ito.

Ang ganitong mga isang malaking bilang ng mga koneksyon ay nagiging sanhi ng ilang mga problema. Una, ito complicates ang pag-unawa ng istraktura ng programa. Pangalawa, mahirap na baguhin. Baguhin sa global data item ay maaaring mangailangan ng pag-aayos ng lahat ng mga function na ikaw ay may access dito.

Halimbawa, sa programa accounting tao ay nagpasiya na accounted object code ay dapat binubuo hindi ng 5 digit, at mula sa 12. Ito ay mangangailangan ng isang pagbabago sa mga uri ng data mula sa maikling sa mahaba. Ngayon na nauugnay sa ang pag-andar ng code ay dapat na baguhin upang gumana sa mga bagong format.

Kapag ang mga elemento ay nagbago sa isang mas malaking application, ito ay mahirap na sabihin kung ano ang mga pamamaraan ay may access sa mga ito. Ngunit kahit na ito tayahin, pagbabago ng mga ito ay maaaring magresulta sa hindi tamang operasyon sa iba pang global na data. Lahat ng bagay ay konektado sa lahat ng iba pa, para sa isang pagbabago sa isang lugar backfire sa isa pa.

Pagmomodelo tunay na mundo

Ang pangalawa at mas mahalagang problema ng mga pamamaraan paradaym ay na ang tiyak na lokasyon ng data at pag-andar hindi maganda simulates ang mga bagay sa tunay na mundo. Narito kami ay pagharap sa mga bagay tulad ng mga tao o kotse. Ang mga ito ay tulad ng walang data o mga function. Complex real-world na mga bagay ay may mga katangian at pag-uugali.

katangian

Mga halimbawa ng mga katangian (minsan ay tinatawag na ari-arian) para sa mga tao ang mga mata ng kulay at ang pangalan ng post na ito, para sa isang kotse - ang kapangyarihan at bilang ng mga pintuan. Bilang ito naka-out, ang mga katangian ng tunay na mundo katumbas ng data sa programa. Ang mga ito ay tiyak na halaga, tulad ng mga asul (kulay ng mata) o apat (ang bilang ng mga pinto).

pag-uugali

Pag-uugali - ay na ang real-world na mga bagay ay ginawa bilang tugon sa ilang mga uri ng epekto. Kung humingi ka ng isang boss para sa pagtaas ng sweldo, ang sagot ay "yes" o "no." Kung pinindot mo sa preno, ang sasakyan ay hihinto. At pagpapahinto ang pagbigkas pag-uugali ay mga halimbawa. Pag-uugali katulad ng pamamaraan: ito ay tinatawag na gawin ang isang bagay, at ito ay gayon. Kaya, ang data at pag-andar sa pamamagitan ng kanilang mga sarili huwag gawing modelo totoong buhay bagay mahusay.

pagtugon

Ang bagay sa OOP ay kinakatawan bilang isang hanay ng mga data at pag-andar. ang mga pamamaraan na ito ay tinatawag na pag-andar miyembro sa C ++ Lamang, payagan upang makuha ang halaga nito. Ang mga ito ay nakatago at protektado mula sa mga pagbabago. Kahulugan at pag-andar ay encapsulated sa isa. Encapsulation at upryatyvanie - pangunahing mga tuntunin sa paglalarawan ng mga object-oriented wika.

Kung gusto mong baguhin ang data, ito nakakaalam kung ano mismo ang mga pag-andar makipag-ugnayan sa kanila. Walang iba pang mga pamamaraan ay hindi maaaring ma-access ang mga ito. Ito pinapasimple pagsulat, pag-debug, at pagpapanatili programa.

Ang isang application ay karaniwang binubuo ng ilang mga bagay na kung saan nakikipag-ugnayan sa bawat isa, nagiging sanhi ng mga miyembro function.

Ngayon, ang pinaka-malawak na ginamit na wika OOP (object-oriented programming) - C ++ (plus plus). Sa Java lacks ilang mga tampok tulad ng mga payo, mga template at maramihang mana, na ginagawang mas malakas at maraming nalalaman kaysa sa C ++. C # ay hindi pa naabot ang katanyagan ng C ++.

Dapat ito ay nabanggit na ang tinaguriang miyembro ng function sa C ++ tinatawag na pamamaraan sa ilang mga iba pang mga object-oriented wika tulad ng Smalltalk. Ang mga item na data ay tinatawag na mga katangian. Pagtawag ng isang paraan ng bagay ay pagpapadala sa kanya ng mga mensahe.

pagkakatulad

Maaari mong isipin ang mga bagay ng mga kagawaran ng kumpanya. Sa karamihan ng mga organisasyon, mga empleyado ay hindi gumagana sa isang araw sa mga kawani, ang mga sumusunod na overcharging suweldo, at pagkatapos ng isang linggo ay nakikibahagi sa retail trade. Ang bawat kagawaran ay may sarili nitong mga tauhan, na may malinaw na itinalaga tungkulin. May mga sariling data: tagapagpahiwatig ng sahod, mga benta, accounting staff, atbp Ang mga tao sa mga kagawaran gumana sa kanilang impormasyon ... Ang dibisyon ng kumpanya, samakatuwid, na pinapadali ang kontrol ng mga operasyon nito at nagpapanatili ng integridad ng data. Accounting ay responsable para sa payroll. Kung nais mong malaman ang kabuuang halaga ng sahod binabayaran sa timog branch noong Hulyo, hindi na kailangan upang bungkalin ang archive. Ito ay sapat na upang magpadala ng isang tala sa ang responsable tao, maghintay hanggang ang taong iyon ay may access sa data at nagpapadala ng tugon sa hinihiling na impormasyon. Tinitiyak nito ang pagsunod sa mga regulasyon at ang kawalan ng mga panlabas na pagkagambala. Sa parehong paraan ng isang bagay sa PLO ay nagbibigay samahan application.

Dapat ito ay remembered na ang orientation ng mga bagay ay hindi nalalapat sa mga detalye ng programa sa trabaho. Karamihan sa mga tagubilin C ++ operator ay tumutugon sa pamamaraan wika tulad ng C. Sa katunayan, ang miyembro function sa C ++ ay katulad na katulad na function sa C. Tanging ang mas malawak na konteksto ay magbibigay-daan upang maitaguyod kung ang pagtuturo pamamaraan o object-oriented.

Ang bagay sa OOP: Definition

Kapag isinasaalang-alang ang problema ng programming sa object-oriented wika sa halip na mga tanong tungkol sa kanyang division sa mga hiwalay na mga pag-andar ay isang problema sa mga pasilidad pagkakahiwalay. OOP pag-iisip ay lubhang mas madaling upang bumuo ng mga application. Ito ay dahil sa ang pagkakapareho ng software at real bagay.

Anong uri ng mga bagay ay mga bagay sa OOP? Narito ang ilang karaniwang mga kategorya.

Pisikal na bagay sa OOP - ay:

  • transport daloy modelo;
  • mga de-koryenteng mga bahagi sa programa circuit disenyo;
  • ekonomiya modelo ng bansa;
  • sasakyang panghimpapawid sa sistema ng air traffic control.

Mga elemento ng kapaligiran computer ng user:

  • menu;
  • bintana;
  • graphics (linya, parihaba, bilog);
  • keyboard, mouse, printer, disk drive.

mga tao:

  • manggagawa;
  • mag-aaral;
  • mga customer;
  • nagbebenta.

impormasyon:

  • libro iingat;
  • isang pribadong bagay;
  • diksiyunaryo;
  • talahanayan ng mga latitude at longitudes ng pakikipag-ayos.

Komunikasyon ng mga tunay na mundo mga bagay at ang PLO ay ang resulta ng isang kumbinasyon ng mga pag-andar at ang data nila ay may revolutionized ang programming. Tulad ng isang malapit na tugma sa pamamaraan wika doon.

klase

Mga bagay sa PLO - isang kasapi ng klase. Ano ang ibig sabihin? Programming wika ay may built-in na mga uri ng data. Uri ng int, t. E. Ang isang integer na ay paunang natukoy na sa C ++. Maaari mong magpahayag ng anumang bilang ng mga int variable.

Katulad nito, ang isang mayorya ng mga bagay na tinukoy sa pamamagitan ng isang klase. Ito ay tumutukoy sa mga pag-andar at ang data na kasama sa kanyang mga pasilidad, hindi paglikha ng mga ito, pati na rin ang isang int ay hindi lumikha ng mga variable.

Klase sa PLO - isang paglalarawan ng isang bilang ng mga katulad na mga bagay. Prince, Sting at Madonna ay ang mga mang-aawit. Walang isa na may ganyang pangalan, ngunit ang mga tao ay maaaring tinawag na gayon, kung mayroon sila ng naaangkop na mga katangian. OOP object - halimbawang ito.

mana

Sa buhay, mga klase ay nahahati sa subclasses. Halimbawa, mga hayop ay nahahati sa amphibian, mammals, mga ibon, mga insekto at iba pa. D.

Ang prinsipyo ng ganitong uri ng division ay na ang bawat subclass ay may mga karaniwang tampok sa mga klase kung saan ang. Ang lahat ng mga sasakyan ay may mga gulong at isang motor. Ito ay ang pagtukoy sa mga katangian ng ang sasakyan. Bilang karagdagan sa mga pangkalahatang katangian ng bawat subclass ay may sariling mga katangian. Maraming bus upuan at mga trak ay may ang space upang magdala ng mabibigat na naglo-load.

Katulad nito, ang isang batayang klase ay maaaring maging isang subclass parent ilang mga derivatives na maaaring tinukoy sa gayon na sila ay ibahagi ang kanyang sariling mga katangian sa karagdagan. Pamana tulad ng pag-andar, simplifying pamamaraan ng programa. Kung ang ilang mga bahagi ng code ay ginagawa medyo marami ang parehong, maaari mong i-extract ang mga karaniwang mga elemento at ilagay ang mga ito sa isang procedure. Tatlong application na lugar ay maaaring tawagan ang function na upang magsagawa ng mga karaniwang pagkilos, ngunit maaari silang makabuo ng at sariling mga operasyon. Katulad nito, ang batayang klase ay naglalaman ng impormasyon na karaniwan sa mga grupo ng mga derivatives. Ang isang katulad na pag-andar binabawasan ang inheritance ng mga object-oriented program at linawin ang relasyon ng mga elemento nito.

recycling

Sa sandaling ang mga klase ay nilikha at debugged, maaari itong ilipat sa iba pang mga programmer upang muling gamitin sa iyong sariling mga application. Ito ay tulad ng isang library ng mga pag-andar na maaaring isama sa iba't ibang mga application.

Sa OOP, inheritance ay isang extension ng ang ideya ng maramihang paggamit. Mula sa isang umiiral na klase, nang hindi binabago ito, maaari kaming bumuo ng isang bagong isa na may mga karagdagan ng iba pang mga function. Ang kadalian ng muling paggamit ng mga umiiral na software - isang mahalagang kalamangan ng PLO. Ito ay pinaniniwalaan na ito ay nagbibigay ng isang pagtaas ng kakayahang kumita ng ang paunang puhunan.

Paglikha ng bagong mga uri ng data

Mga Pasilidad angkop para sa paglikha ng mga bagong uri ng data. Ipagpalagay na ang isang programa ay gumagamit ng dalawang-dimensional na mga halaga (hal coordinates o latitude at longitude), at magkaroon ng isang pagnanais upang ipahayag ang pagkilos ng arithmetic sa mga ito:

position1 = posisyon + pinanggalingan,

kung saan position1, posisyon at pinagmulan - isang pares ng mga independiyenteng de-numerong halaga. Ang paglikha ng isang klase na kasama ang dalawang mga halaga, at variable declarations ng kanyang mga bagay ay lumilikha ng isang bagong uri ng data.

Polymorphism, labis na pasanin

Operator = (pantay), at + (plus) na ginagamit sa arithmetic positional sa itaas ay hindi kumilos pati na rin ang isang built-in na uri, tulad ng int. mga bagay na posisyon, at iba pa. Hindi ba paunang-natukoy na at i-set sa pamamagitan ng software. Paano ang mga operator alam kung paano panghawakan ang mga ito? Ang sagot ay namamalagi sa ang katunayan na ang mga bagong pag-uugali ay maaaring itakda para sa kanila. Ang mga operasyong ito ay magiging miyembro ng function Class Position.

Ang paggamit ng mga operator o pamamaraan depende sa kung ano sila ay nagtatrabaho ay tinatawag polymorphism. Kapag mayroong isang operator, tulad ng + o =, ay makakakuha ng pagkakataon upang gumana sa mga bagong uri ng data, sinasabi nito na ito ay overload. Overload sa PLO - isang uri ng polymorphism. Ito ay ang kanyang mahalagang tampok.

Isang aklat sa PLO "object-oriented Programming para sa Dummies" ay magbibigay-daan sa lahat upang makakuha ng pamilyar sa paksang ito nang mas detalyado.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.unansea.com. Theme powered by WordPress.