Kompyuta, Programu
PLO - ni kitu gani? kanuni ya msingi ya kitu-oriented programu
Kwa kitu-oriented programu ni mkuu kuliko katika miradi zaidi? PLO inatoa njia bora ya kukabiliana na utata wao. Badala ya kuzingatia mpango kama mlolongo wa maelekezo kutekelezwa, inawakilisha kama kundi la vitu na mali fulani na mazao yao na hatua fulani. Hii matokeo katika programu wazi, kuaminika zaidi na legkosoprovozhdaemyh.
kanuni ya msingi ya kitu-oriented programu (OOP) sumu kwa sababu ya vikwazo imepatikana katika njia ya awali iliyopo. Kati yao - kupata ukomo na data na idadi kubwa ya viungo, ambayo kuweka vikwazo juu ya mabadiliko. ufahamu wao na sababu muhimu kuelewa nini programu OOP na nini ni faida zake.
lugha utaratibu
C, Pascal, FORTRAN, na lugha kama hiyo ni ya kiutaratibu. Hiyo ni, kila mmoja operator anaelezea kompyuta kufanya kitu: kupata data, kuongeza hadi idadi, imegawanywa katika sita, matokeo kuonyeshwa. Kiambatisho lugha taratibu ni maelekezo orodha. Kama ni ndogo, hakuna nyingine ya maandalizi kanuni (mara nyingi hujulikana kama dhana) hayahitaji. programu inajenga orodha ya maelekezo, na kompyuta executes yao.
Mgawanyo wa kazi
Wakati maombi kuwa zaidi mbaya orodha ya zamu. Wachache anaweza kuelewa zaidi maelekezo mia kadhaa mpaka ni makundi. Kwa sababu hiyo, kazi ilikuwa ni njia ya kufanya maombi zaidi kueleweka kwa wabunifu wake. Katika baadhi ya lugha, dhana hiyo anaweza kuitwa subroutines au taratibu.
programu imegawanywa katika kazi, kila mmoja ina lengo wazi na interface.
wazo la mgawanyo wa taratibu inaweza kupanua katika kambi kubwa ya kitu kinachoitwa moduli, lakini kanuni ni sawa: kambi ya vipengele ambazo hubeba orodha ya hati.
Mgawanyo wa kazi na modules - moja ya kona ya mawe ya programu muundo, ambayo kwa miongo kadhaa mpaka PLO ilikuwa ni unaleta dhana.
matatizo ya muundo Programu
Kama maombi kuwa kubwa, na muundo Programu mwanzo kupata tatizo la. Miradi huwa magumu mno. kubadilishwa graphics. Inahusisha idadi kubwa ya programmers. utata imeongezeka. Gharama kuchipuka, ratiba alikuwa kubadilishwa zaidi, na alipokuwa akija kuanguka.
Uchambuzi wa sababu za kushindwa wazi mapungufu utaratibu dhana. Bila kujali jinsi muundo kutekelezwa programu mbinu, maombi kubwa kuwa overly ngumu.
Je, ni sababu ya matatizo haya yanayohusiana na lugha za utaratibu gani? Kwanza, kazi na upatikanaji ukomo na takwimu kimataifa. Pili, taratibu lisilohusiana na maadili mabaya kuiga ulimwengu wa kweli.
Kama tunaona mambo haya katika mazingira ya hesabu ya uhasibu programu, moja ya mambo muhimu zaidi ya data ya kimataifa ni seti ya SKUs. kazi mbalimbali unaweza rejea kwao kuingia thamani mpya, ni kuonyeshwa, mabadiliko na hivyo. D.
ufikiaji usio na kikomo
mpango kuandikwa, kwa mfano, katika C, kuna aina mbili ya data. Mitaa siri ndani ya kazi na taratibu nyingine si kutumika.
Wakati kazi mbili au zaidi na upatikanaji wa data huo, mwisho lazima kimataifa. Kama, kwa mfano, ni kuchukuliwa katika taarifa za akaunti kuhusu masomo. data ya kimataifa inaweza kuwa na utaratibu wowote zilizopo.
Katika mpango mkubwa, kuna makala nyingi na wengi mambo ya kimataifa. tatizo la dhana utaratibu ni kwamba ni inaongoza kwa idadi kubwa ya viungo uwezo kati yao.
Idadi kubwa ya uhusiano husababisha matatizo kadhaa. Kwanza, ni utata kuelewa muundo wa mpango. Pili, vigumu kubadilika. Mabadiliko katika bidhaa ya kimataifa data kuhitaji marekebisho ya kazi yote na huduma hiyo.
Kwa mfano, katika programu ya uhasibu mtu anaamua kwamba hesabu kitu unafaa kujumuisha si ya tarakimu 5, na kutoka 12. Hii itahitaji mabadiliko ya aina data kutoka mfupi kwa muda mrefu. Sasa kuhusishwa na kanuni kazi lazima kubadilishwa kufanya kazi na muundo mpya.
Wakati mambo ni iliyopita katika maombi kubwa, ni vigumu kusema ni nini taratibu kupata kwao. Lakini hata kama takwimu hii, kubadilisha yao inaweza kusababisha operesheni sahihi na data nyingine ya kimataifa. Kila kitu ni kushikamana na kila kitu kingine, hivyo mabadiliko katika sehemu moja kukwama katika nyingine.
Modeling ulimwengu wa kweli
pili na muhimu zaidi tatizo la dhana utaratibu ni kwamba eneo maalum yake ya data na kazi hafifu simulates mambo katika ulimwengu wa kweli. Hapa sisi ni kushughulika na vitu kama vile watu au magari. Wao ni kama hakuna data au kazi. Complex vitu halisi ya dunia kuwa na sifa na tabia.
sifa
Mifano ya sifa (wakati mwingine huitwa mali) kwa ajili ya watu ni jicho rangi na jina la posta, kwa ajili ya gari - nguvu na idadi ya milango. Kama aligeuka, sifa za ulimwengu wa kweli sawa na data katika mpango. Wana maadili maalum, kama vile bluu (rangi ya macho) au nne (idadi ya milango).
tabia
Tabia - ni kwamba vitu halisi ya dunia zinazozalishwa katika kukabiliana na baadhi ya aina ya athari. Ukiuliza bosi ongezeko mshahara, jibu ni "ndiyo" au "hapana." Kama vyombo vya habari juu ya akaumega, gari kuacha. Na kuacha tabia kutamka ni mifano. Tabia sawa na utaratibu: ni kuitwa kufanya kitu, na inafanya hivyo. Hivyo, data na kazi kwa wenyewe hawawezi mfano halisi ya dunia vitu kwa ufanisi.
Akihutubia
kitu katika OOP inawakilishwa kama seti ya data na kazi. taratibu ambazo zinaitwa kazi wanachama katika C ++ tu, kuruhusu kupata thamani yake. Hizi ni siri na kulindwa na mabadiliko. Maana na kazi zimegawanywa katika moja. Encapsulation na upryatyvanie - masharti ya msingi katika maelezo ya lugha kitu-oriented.
Kama unataka mabadiliko ya data, ni anajua nini hasa kazi kuingiliana nao. Hakuna taratibu wengine hawawezi kuzifikia. Hii simplifies kuandika, debugging, na kudumisha mpango.
maombi ya kawaida lina vitu kadhaa ambayo kiutendaji na kila mmoja, na kusababisha kazi mwanachama.
Leo, wengi sana kutumika lugha OOP (kitu-oriented programu) - C ++ (pamoja plus). Katika Java inakosa baadhi ya vipengele kama vile kuyatumia, templates na nyingi urithi, ambavyo inafanya chini ya nguvu na hodari kuliko C ++. C # bado kufikiwa umaarufu wa C ++.
Ikumbukwe kwamba kinachojulikana kazi wanachama katika njia C ++ kuitwa katika baadhi nyingine ya lugha kitu-oriented kama vile Smalltalk. vitu data kuitwa sifa. Kupiga njia ya kitu inatuma yake ujumbe.
mfano
Unaweza kufikiria vitu wa idara ya kampuni. Katika mashirika mengi, wafanyakazi kufanya kazi siku moja kwa wafanyakazi, kufuatia overcharging mshahara, na kisha wiki kushiriki katika biashara ya rejareja. Kila idara ina wafanyakazi wake mwenyewe, na kazi ni wazi kwa ajili ya. Kuna mwenyewe data: viashiria vya mishahara, mauzo, uhasibu wafanyakazi, nk Watu katika idara za kazi na taarifa zao ... mgawanyo wa kampuni hiyo, kuwezesha udhibiti wa shughuli zake na inao data uadilifu. Uhasibu ni wajibu wa mishahara. Kama unataka kujua jumla ya kiasi cha mshahara kulipwa kwa tawi kusini katika Julai, hawana haja ya kujiingiza katika kumbukumbu. Ni kutosha kutuma waraka kwa mtu kuwajibika, kusubiri hadi mtu huyo anaweza kufikia data na kuzituma kukabiliana na habari ombi. Hii kuhakikisha utii wa masharti na kukosekana kwa kuingiliwa nje. Kwa njia hiyo kitu katika PLO hutoa shirika maombi.
Ikumbukwe kwamba mwelekeo wa vitu haihusu maelezo ya mpango wa kazi. maelekezo zaidi C ++ waendeshaji inalingana na lugha za taratibu kama vile C. Kwa kweli, kazi wanachama katika C ++ ni sawa na kazi katika C. Tu muktadha mpana itaruhusu kuangalia kama maelekezo utaratibu au kitu-oriented.
kitu katika OOP: Ufafanuzi
Wakati kuzingatia tatizo la kompyuta kwa lugha kitu-oriented badala ya maswali kuhusu mgawanyo wake katika kazi tofauti ni tatizo katika vituo kujitenga. OOP kufikiri ni rahisi zaidi ya kuendeleza matumizi. Hii ni kutokana na kufanana ya programu na vitu halisi.
Ni aina gani ya mambo vitu katika OOP? Hapa ni baadhi ya makundi ya kawaida.
Physical kitu katika OOP - ni:
- usafirishaji kati yake mifano;
- vipengele vya umeme katika programu mzunguko kubuni,
- uchumi wa nchi hiyo ya mfano,
- ndege katika mfumo wa hewa trafiki kudhibiti.
Mambo ya mazingira kompyuta ya mtumiaji:
- orodha;
- madirisha;
- graphics (line, mstatili, duara);
- keyboard, panya, printa, disk anatoa.
watu
- wafanyakazi;
- wanafunzi,
- wateja;
- wauzaji.
habari:
- kitabu kuweka,
- jambo binafsi,
- kamusi;
- meza ya latitudo na longitude ya makazi.
Communication ya ulimwengu wa kweli vitu na PLO ilikuwa ni matokeo ya mchanganyiko wa kazi na data wao mapinduzi ya programu. Kama mechi karibu kwa lugha taratibu huko.
darasa
Vitu katika PLO - mwanachama darasa. Inamaanisha? Lugha za kuwa na kujengwa katika aina ya data. Aina int, t. E. integer kwamba ni predetermined katika C ++. Unaweza kutangaza idadi yoyote ya vigezo int.
Vile vile, wingi wa vitu inavyoelezwa na darasa moja. Ni amefafanua kazi na data pamoja katika vifaa vyake, si kujenga yao, pamoja na int hakuundi variables.
Class katika PLO - maelezo ya idadi ya vitu kama hiyo. Prince, Sting na Madonna ni waimbaji. Hakuna mtu kwa jina hilo, lakini watu wanaweza kuitwa hivyo, kama wana tabia sahihi. OOP kitu - mfano huu.
urithi
Katika maisha, madarasa wamegawanyika katika subclasses. Kwa mfano, wanyama ni umegawanyika katika amfibia, wanyama, ndege, wadudu na kadhalika. D.
kanuni ya aina hii ya mgawanyo ni kwamba kila Aina ina vipengele kawaida na darasa ambayo. Magari yote na magurudumu na motor. Hii ni Sifa bainifu za magari. Mbali na sifa ya jumla ya kila Aina ina sifa yake mwenyewe. Kuna mabasi viti na malori na nafasi ya kufanya mizigo mizito.
Vile vile, daraja la msingi inaweza kuwa Aina mzazi derivat kadha wa kadha ambayo kuelezwa ili waweze kushiriki tabia yake mwenyewe na kuongeza. Urithi kama kazi, kurahisisha mpango kiutaratibu. Kama maeneo kadhaa ya kanuni wanafanya pretty kiasi sawa, unaweza dondoo mambo ya kawaida na kuwaweka katika utaratibu mmoja. Tatu Maombi eneo unaweza kupiga kazi kufanya vitendo ya kawaida, lakini inaweza kuzalisha na shughuli zake. Vile vile, daraja la msingi ina taarifa ya kawaida kwa kundi la derivatives. kazi kama hiyo inapunguza urithi wa kitu-oriented programu na ufafanuzi wa uhusiano wa mambo yake.
kusindika
Mara baada ya darasa ni iliyoundwa na debugged, inaweza kuhamishiwa programmers nyingine kutumia tena katika programu yako mwenyewe. Ni kama maktaba ya kazi ya kwamba kuwa na zaidi ya maombi mbalimbali.
Katika OOP, urithi ni ugani wa wazo la matumizi mbalimbali. Kutoka darasa zilizopo, bila kubadilisha nayo, tunaweza kuunda mwezi mmoja kwa kuongeza kazi nyingine. urahisi wa kutumia tena ya programu zilizopo - faida muhimu ya PLO. Inaaminika kuwa inatoa faida kuongezeka kwa uwekezaji wa awali.
Kujenga aina mpya data
Vifaa yanafaa kwa ajili ya viumbe wa aina mpya data. Tuseme mpango wa matumizi ya maadili ya pande mbili (mfano kuratibu au latitude na longitude), na kuwa na hamu ya kutoa hatua ya hesabu yao:
position1 = msimamo + asili,
ambapo position1, nafasi na asili - jozi ya maadili kujitegemea nambari. Kujenga daraja la kuwa ni pamoja na thamani hizi mbili, na maazimio kutofautiana ya vitu yake inajenga mpya aina ya data.
Polymorphism, overloading
Waendeshaji = (sawa), na + (plus) kutumika katika hesabu kwa nafasi hapo juu si kazi kama vile kujengwa katika aina, kama vile int. Nafasi vitu, na wengine. Je, si predetermined na kuweka na programu. Je, waendeshaji hawa kujua jinsi ya kushughulikia yao? Jibu lipo katika ukweli kwamba tabia mpya inaweza kuweka kwa ajili yao. shughuli hizi kuwa mwanachama kazi Class Nafasi.
Kwa kutumia waendeshaji au taratibu kulingana na kile zinafanya kazi inaitwa polymorphism. Wakati kuna operator, kama vile + au =, anapata nafasi ya kufanya kazi na aina mpya data, inasema kwamba ni overloaded. Overload katika PLO - aina ya polymorphism. Ni hulka yake muhimu.
kitabu juu ya PLO "Kitu Oriented Programming for Dummies" itaruhusu kila mtu kujifahamisha na mada hii kwa undani zaidi.
Similar articles
Trending Now