Компютер, Барномасозӣ
Фаластин - ин чӣ аст? Принсипҳои асосии барномасозии шайъгаро
Чаро объект нигаронидашуда барномањо аст, ки дар аксарияти лоиҳаҳои бартарӣ бахшид? Фаластин пешниҳод роҳи самараноки мубориза бо мураккабии худ. Ба ҷои он ки бо назардошти як барнома дар пайдарпаии дастурҳои иҷрошаванда, онро намояндаи як гурӯҳи объектҳои бо хосиятҳои муайян ва истеҳсоли онҳоро бо амалҳои муайян. Ин натиҷаҳо дар барномаҳои равшантар, боэътимод ва legkosoprovozhdaemyh.
Принсипҳои асосии барномасозии шайъгаро (OOP) ташкил, зеро маҳдудиятҳо дар муносибат қаблан вуҷуддошта ёфт шуд. Дар байни онҳо - дастрасии номаҳдуд ба маълумот ва шумораи зиёди пайвандҳо, ки маҳдудиятҳо дар бораи тағйири барад. огоҳӣ ва сабабҳои онҳо муҳим барои фаҳмидани чӣ барномањо OOP ва афзалиятҳои он чӣ ном доранд.
бо забонҳои мурофиавц
C, Паскал, FORTRAN, ва забонҳои монанд мурофиавӣ мебошанд. Яъне, ҳар як оператор мегӯяд компютер коре: ба даст маълумот, илова кунед, то дар рақамҳо, ба шаш тақсим, натиҷаи нишон дода мешавад. забони мурофиавӣ Замимаи рӯйхати супориши аст. Агар он хурд аст, ҳеҷ принсипи ташкили дигар (аксар вақт ба сифати парадигмаи номида мешавад) талаб карда намешавад. Дар барноманавис меорад рӯйхати дастур, ва компютер онҳоро иҷро.
Тақсимоти вазифаҳо
Вақте ки ариза табдил рӯйхати тоқатфарсо бештар муроди. Чанд метавонад бештар аз чанд сад дастурҳо дарк то гурӯҳбандӣ шудаанд. Аз ин рӯ, вазифаи роҳ ба барномаи фањмо, бештар ба офаринандагон буд. Дар баъзе забонҳо, ҳамон мафҳуми мумкин subroutines ё расмиёти номида мешавад.
Дар барнома аст, ба вазифаҳои, ҳар як аз он дорад, мақсади даќиќ ва интерфейси тақсим карда мешавад.
Ба фикри тақсимоти тартиби метавон ба як гурӯҳбандӣ калони объекти номида модули васеъ, вале принсипи шабеҳ аст: гурӯҳҳои ҷузъҳои, ки анҷом рӯйхати ҳуҷҷат.
Ҷудо намудани функсияњо ва модулҳои - яке аз сангҳои гӯшаи барномарезии сохторӣ, ки дар давоми чанд даҳсола ба он эљод парадигмаи то Фаластин буд.
мушкилоти сохтории барномасозӣ
Тавре ки барномаҳои калон шудан, барномасозии сохтории сар ба сар мушкилоти. Лоиҳаҳо хеле мураккаб гардад. графика табдил ёфт. Он дар бар мегирад, шумораи зиёди барномасозони. Дар мураккабии парвариш кардааст. Хароҷоти тир то, реҷаи минбаъд иваз шуд, ва омад пошхӯрии нест.
Таҳлили сабабҳои нокомиҳои норасоии ошкор парадигмаи мурофиавц. Новобаста аз он, ки чӣ тавр, инчунин сохторӣ равиши барномарезии амалї, барномаҳо калон аз ҳад зиёд мураккаб гардад.
сабабњои ин масъалаҳо марбут ба забонҳои мурофиавӣ кадом аст? Якум, вазифаҳои дастрасии номаҳдуд ба маълумоти љањонї. Дуюм, тартиби ҷудои ва арзишҳои бад simulate ҷаҳони воқеӣ.
Агар мо ба ин масъалаҳо дар шароити нармафзори ҳисобдорӣ инвентаризатсия дида, ки яке аз унсурњои муњими маълумоти глобалӣ як қатор SKUs аст. вазифаҳои гуногун метавонанд ба онҳо муроҷиат дохил арзиши нав, он аст, нишон дода шавад, тағйирот ва. Д.
дастрасии номаҳдуди
Барномаи навишта шудааст, барои мисол, дар C, онҷо ду намуди маълумот. Маҳаллӣ дар доираи вазифаи пинҳон ва тартиби дигар истифода намешаванд.
Вақте ки ду ва ё зиёда вазифаҳои дастрасӣ ба маълумоти ҳамин доранд, ки охирин бояд ҷаҳонӣ шавад. Чунин, барои мисол, ба маълумоти ҳисоби дар бораи мавзӯъҳои гирифта мешавад. Маълумоти ҷаҳонӣ метавонад бошад, ҳама гуна тартиби дастрас нест.
Дар як барномаи калон, бисёр хусусиятҳо ва бисёр унсурҳои ҷаҳонӣ вуҷуд доранд. Дар масъалаи парадигмаи тартиб аст, ки он ба як қатор бештари пайвандҳо эҳтимолӣ миёни онҳо оварда мерасонад.
Чунин шумораи зиёди пайвастҳои сабаби якчанд душвориҳо. Аввалан, он мушкил дар дарки сохтори барнома. Дуввум, мушкил ба тағйир диҳед. Тағйир дар банди маълумоти љањонї метавонад тасҳеҳи ҳама вазифаҳо, ки дастрасӣ ба он доранд, талаб мекунад.
Масалан, дар барномаи касе баҳисобгирии қарор, ки рамзи объекти ҳисоб бояд на аз 5 рақам иборат аст, ва аз 12. Ин як тағйирот талаб намуди маълумот , аз кӯтоҳ ба дароз. Акнун бо рамзи Функсияи бояд тағйир дода шавад, то бо формати нав.
Вақте, ки унсурҳои дар як барномаи калон иваз карда, ба он душвор аст, ки чизе бигӯеду ба тартиби дастрасӣ ба онҳо доранд. Лекин ҳатто агар ин нишондод, тағйир онҳо, то дар амалиёти нодуруст бо дигар маълумотњои ҷаҳонӣ оварда мерасонад. Ҳама чиз аст, ки бо ҳар чизе дигаре пайваст, то як тағйирот дар як ҷо дар дигар backfire.
Моделсозии ҷаҳони воқеӣ
Дар масъалаи дуюм ва муҳимтар аз парадигмаи тартиб аст, ки маълумот ва вазифаҳои макони махсуси худро суст simulates чиро, ки дар ҷаҳони воқеӣ. Дар ин ҷо мо дар муносибат бо объектҳои ба монанди одамон ё мошинҳои. Онҳо мисли нест маълумот ё вазифаи мебошанд. Маҷмааи объектҳои воқеӣ дунё атрибутика ва рафтори.
хусусиятҳои
Намунаҳои хусусиятҳои (хосиятҳои баъзан ном) барои мардум ранги чашм ва номи почта, барои як мошин - қудрат ва шумораи дарҳои. Тавре аён гардид, хусусиятҳои ҷаҳони воқеӣ баробар ба маълумот дар барнома. Онҳо арзишҳои мушаххас, ба монанди кабуд (ранги чашм) ё чор (миќдори дарҳои) доранд.
рафтори
Рафтор - аст, ки объекти воқеӣ ҷаҳон дар посух ба баъзе гуна таъсири истеҳсол. Агар шумо як раҳбари мепурсанд барои баланд бардоштани музди меҳнат, ҷавоб «ҳа» ё «не». Агар шумо дар бораи пора пахш карда, мошин қатъ хоҳад кард. Ва қатъ рафтори калом намунаи мебошанд. Рафтор монанд ба тартиби: он аст, даъват коре, ва он чунин мекунад. Ҳамин тариқ, маълумот ва функсияҳои аз тарафи худ мекунед намунавї нест, воқеӣ ҷаҳон объектҳои самаранок.
Ҳалли
Объекти дар OOP ҳамчун маҷмӯи маълумот ва вазифаҳои намояндагӣ мекунанд. Танҳо бо тартиби ки Функсия-аъзои дар C ++ даъват намуда, имкон барои ба даст овардани арзиши он. Ин пӯшида ва ҳифз аз тағйирот. Маънои ва функсияҳои ба яке аз encapsulated. Encapsulation ва upryatyvanie - шартҳои асосии дар тавсифи забонҳои-объекти нигаронида мешавад.
Агар шумо хоҳед, ки ба тағйир додани маълумот, он аниқ медонад, ки чӣ вазифаҳои мутақобила бо онҳо. Не тартиби дигар метавонанд ба онҳо дастрасӣ карда намешавад. Ин содда навиштан, debugging, ва нигоҳ доштани барнома.
Ариза маъмулан объектҳои якчанд ки бо якдигар муштарак, ки боиси Функсия-аъзои иборат аст.
Имрӯз, OOP ба таври васеъ истифодашавандаи забон (барномасозӣ-объекти нигаронида) - C ++ (плюс плюс). Дар Java камбудии баъзе хусусиятҳои ба монанди доштан зарур, Шаблонҳои ва мероси сершумор, ки он пуриқтидор камтар ва имрӯзӣ аз C ++. $ C # ҳанӯз маъруфияти C ++ расид нест.
Бояд қайд кард, ки ба ном Функсия-аъзои дар усулҳои C ++ ном дар баъзе забонҳо-объекти нигаронида дигар ба монанди Smalltalk. Дар моддаҳои маълумоти хусусиятҳои номида мешавад. Даъват усули объекти аст, фиристодани ӯ паёмҳои.
қиёси
Шумо метавонед объектҳои идораҳо ширкат тасаввур. Дар аксари созмонҳо, кормандони оё як рӯз бо кормандон, музди пуршударо ба манбаи зерин, ва сипас дар як ҳафта машғул дар савдои чакана кор намекунад. Ҳар як кафедра кормандони худ, ки бо вазифаҳои равшан гузошта мешавад. доранд маълумоти худро вуҷуд дорад: нишондиҳандаҳои музди меҳнат, фурӯш, баҳисобгирии кормандон, ва ғайра Одамон дар шӯъбаҳои бо маълумоти худ ба кор ... Дар тақсим ширкат, бинобар ин, мусоидат ба назорати фаъолияти худ ва нигоҳ доштани беайбӣ маълумот. Ҳисоботи масъули аст варақаҳои. Агар шумо хоҳед, ки ба донистани маблағи умумии музди меҳнат ба филиал ҷануби пардохта дар моҳи июли соли, оё лозим нест, ки чуқур омӯхтани бойгонии. Ин кофӣ барои ирсол кардани ёддошт, ба шахси масъули, мунтазир бошед, то ки шахс дастрасӣ ба маълумот дорад ва ҷавоб ба маълумоти дархостгардида мефиристад. Ин кафолат медиҳад, риояи низомнома ва набудани дахолати беруна. Дар ҳамин тавр объект дар Фаластин дархости ташкилот таъмин менамояд.
Бояд ба ёд мешавад, ки дар самти объектҳои тавр ба ҷузъиёти барномаи кори амал намекунад. Аксари дастур $ C ++ операторони мувофиқ ба забонҳои мурофиавиро ба монанди, C. Дар асл, Функсия-аъзои дар C ++ хеле монанд ба вазифаҳо дар C. мебошанд Танҳо заминаи васеи имкон медиҳад, ки ба роҳ мондани ки оё супориши мурофиавї ё объекти нигаронида шудааст.
Объекти дар OOP: Муайян
Ҳангоми муҳокимаи мушкилоти барномањо бо забони-объекти нигаронида ҷои савол дар бораи тақсимоти он ба вазифаҳои алоҳида мушкилот дар муассисаҳои ҷудогона аст. фикрронӣ OOP аст, хеле осонтар барои рушди барномаҳои. Ин аст сабаби монандии нармафзор ва объектҳои воқеӣ.
объектњои дар OOP Чӣ гуна чиз аст? Дар ин ҷо баъзе категорияҳои хос мебошанд.
объекти ҷисмонӣ дар OOP - аст:
- модели гардиши нақлиёт;
- ҷузъҳои барқ дар барномањои тарҳи ноҳиявӣ;
- модели иќтисодиёти кишвар;
- ҳавопаймо дар системаи назорати ҳаракати ҳаво.
Унсурҳои муҳити компютер корбар:
- меню;
- тирезаҳо;
- графикӣ (сатр, росткунҷае, доира);
- дискҳои клавиатура, муш, принтер, диски сахт.
нафар:
- кормандон;
- хонандагон;
- муштариён;
- фурӯшандагон.
маълумот:
- бухгалтерӣ;
- як масъалаи хусусї;
- луғат;
- ҷадвали latitudes ва longitudes ҳисоббаробаркуниҳо.
Коммуникатсионӣ аз ҷаҳони воқеӣ объектњои ва Фаластин дар натиҷаи маҷмӯи функсияҳо ва маълумоти онҳо барнома доранд, инқилоберо буд. Чунин як бозии наздик бо забонҳои мурофиавц нест.
синфи
Объектҳои дар Фаластин - як узви синф. Чӣ маъно дорад? забони барноманависӣ сохта-дар кардаанд намуди маълумот. Намуди Int, т. E. An бутуни аст, ки дар C ++ муъайян. Шумо метавонед ягон шумораи тағйирёбандаҳои Int арз карда шавад.
Ба ин монанд, дар як plurality объектҳои муайян аз ҷониби як синф. Ин муайян намудани функсияњо ва маълумоте, ки дар иншооти он, ба онҳо фароҳам нест, инчунин дар Int тавр тағйирёбандаҳои эҷод нест.
Синфи дар Фаластин - тавсифи як қатор иншооти монанд. Prince, Стинг ва Мадонна сурудхонҳо мебошанд. касе нест, аз ҷониби ки чунин ном дошта, вале мардум мумкин аст номида, пас агар онҳо аз хусусиятҳои дахлдор. OOP объекти - ин мисол.
мерос
Дар ҳаёти дарсҳо ба subclasses тақсим карда мешавад. Масалан, ҳайвонот ба amphibians, ширхӯрон, парандагон, ҳашарот ва ғайра тақсим карда мешавад. D.
Принсипи ин гуна таќсимоти он аст, ки ҳар як subclass дорои хусусиятҳои умумӣ бо синфи ки аз он. Ҳамаи мошинҳои доранд чархҳои ва автомобилгард. Ин хусусиятҳои муайян намудани воситаҳои нақлиёт мебошад. Илова бар ин ба хусусиятњои умумии њар subclass хусусиятњои худро дорад. Бисёр ҷой автобус нест ва мошинҳои дорои фазои ба Борҳоятонро вазнин.
Ба ин монанд, дар як синфи пойгоҳи метавонад як subclass падару модар чанд ҳосилаҳои ки мумкин аст муайян, то онҳо низ хусусиятҳои худро бо илова мубодила. Мерос монанди вазифаҳо, содда кардани барномаи мурофиавц. Агар якчанд қисмҳои рамзи кор хеле зиёд ҳамин, шумо метавонед унсурҳои умумӣ берун ва ба онҳо дода, дар як тартиби. Се майдони ариза метавонед вазифаи даъват ба амал умумӣ, вале онҳо метавонанд истеҳсол ва амалиёти худ. Ба ин монанд, синфи пойгоҳи маълумоти умумӣ ба гурӯҳи ҳосилаҳои. Дар вазифаҳои монандро мерос аз барномаи объекти нигаронида коҳиш медиҳад ва муайян кардани муносибати унсурҳои он.
такрории
Пас аз синфи офарида шудааст ва debugged, он метавонад ба дигар барномасозони дода ба таржума, дар барномаҳои худ. Он мисли китобхонаи функсияҳоеро, ки мумкин аст дар барномаҳои гуногун дохил кард.
Дар OOP, мерос тавсеаи андешаи истифодаи сершумор аст. Аз синфи мавҷуда, бе тағйир додани он, мо метавонем, ки яке аз нав бо илова намудани дигар вазифаҳо ташкил медиҳад. Дар осонии нав истифодаи нармафзори мавҷуда - як бартарии муҳими Фаластин. Он ки имон аст, ки онро таъмин як даромаднокии афзоиши сармоягузории аввал.
Фароњам овардани навъҳои маълумоти нав
Имтиёзњо муносиб барои эҷоди навъҳои маълумоти нав. Фарз мекунем, ки барнома истифода мебарад арзишҳои ду-ченака (масалан, координатҳо ё Арзи ҷуғрофии ва тӯлу), ва хоҳиши ба баён амали арифметикӣ дар онҳо:
position1 = мавқеи + пайдоиш,
ки position1, вазифа ва пайдоиши - як ҷуфт арзишҳои ададӣ мустақил. Таъсиси синфи мегирад ин ду арзишҳо ва эъломияњо тағйирёбанда объектњои он як навъи маълумоти нав меорад.
Polymorphism, overloading
Операторони = (баробар), ва + (плюс) истифода бурда, дар арифметикӣ мансабї боло чӣ тавре амал намекунад, инчунин як ки дар бино-навъ, ба монанди Int. объектҳои Вазифа, ва дигарон. Оё муъайян нест ва муқаррарнамудаи нармафзор. Чӣ тавр аз ин операторҳо медонед, ки чӣ тавр ба ӯҳдаи онҳо? Дар ҷавоб дар он аст, ки рафтори нав метавонанд барои онҳо оварда вогузошта шудааст. Ин амалиёт хоҳад узви вазифаҳои Синфи Вазифа.
Истифодаи операторҳои ё расмиёти вобаста ба он чӣ кор номида polymorphism. Вақте аст, оператор, ба монанди +, ё =, меорад, имконияти ба кор бо навъи маълумоти нав нест, он мегӯяд, ки он изофабор аст. Изофабори дар Фаластин - як навъ polymorphism. Ин хусусияти муҳими он аст.
Дар китоб дар бораи Фаластин "-объект нигаронидашуда Барномарезӣ барои Dummies» имкон медиҳад, ки ҳар кас барои шиносоӣ бо ин мавзӯъ ба таври муфассал шинос шуд.
Similar articles
Trending Now