КомпјутериПрограмирање

ПЛО-а - шта је то? Основни принципи објектно оријентисаног програмирања

Зашто објектно оријентисани програмски пожељна је у већини пројеката? ПЛО-а нуди ефикасан начин да се избори са њихове сложености. Уместо да се програм као низ извршних инструкција, што га представља као група објеката са одређеним особинама и производе их са одређеним радњама. То доводи до јаснија, поузданост и легкосопровозхдаемих апликације.

Основни принципи објектно оријентисаног програмирања (ООП) формирана, јер су пронађени ограничења у већ постојећих приступа. Међу њима - неограничен приступ подацима и велики број линкова који намећу ограничења на промене. Њихова свест и узроци важно да се разуме шта програмирање ООП и које су његове предности.

процедурални језици

Ц Паскал, Фортран, и слични језици су процедуралне. То је, сваки од оператера говори компјутер да уради нешто: Да бисте добили податке, саберете бројеве, подељених у шест, резултат приказан. Додатак процедурални језик је инструкција листа. Ако је мала, ниједна друга организациони принцип (често се назива парадигма) није потребна. Програмер ствара списак упутстава, а рачунар их извршава.

Раздвајање функција

Када апликација постају компликовани листа потеза. Мало може да разуме више од неколико стотина упутства док су груписани. Из тог разлога, функција је начин да апликација више разумљиво њених твораца. У неким језицима, исти концепт може назвати Подпрограми или процедуре.

Апликација је подељена на функцијама, од којих сваки има јасно дефинисану сврху и интерфејс.

Идеја о раздвајању поступка може се проширити на већи груписање предмета који се зове модул, али принцип је аналоган: груписање компоненти које носе листе документа.

Раздвајање функција и модула - један од темеља структурирано програмирање, што је за неколико деценија док ПЛО је то представља парадигму.

структурирано програмирање проблеми

Као апликације постају веће, структуриран програмирање почиње да искусе потешкоће. Пројекти постају сувише сложена. померио графику. То укључује велики број програмера. Сложеност је порасла. Трошкови пуцају, распоред је померен даље, а ту је колапс.

Анализа узрока неуспеха открила недостатке Процедурална парадигма. Без обзира на то колико добро структуриран реализовати програмски приступ, велика апликације постају превише сложен.

Који су узроци ових проблема у вези са процесним језика? Прво, функције имају неограничен приступ глобалним подацима. Друго, неповезаних процедуре и лоше вредности симулира стварни свет.

Ако узмемо у обзир ова питања у контексту рачуноводства инвентара софтвера, један од најважнијих елемената глобалне података је скуп СКУ. Различите функције могу да се односе на њих да бисте унели нову вредност, она се приказује, измене и тако. Д.

неограничен приступ

Програм написан, на пример, у Ц, постоје две врсте података. Локална сакривен у функцији и друге процедуре се не користи.

Када се две или више функција имају приступ истим подацима, каснијих мора бити глобална. Што су, на пример, узимају се у обзир информације о предметима. Глобални подаци могу бити доступни поступак.

У великом програму, постоје многе могућности и многе глобалне елемената. Проблем процедуралне парадигме је да доводи до већег броја потенцијалних веза између њих.

Оволики број прикључака изазива неколико проблема. Прво, то компликује разумевање структуре програма. Друго, тешко променити. Промена у глобалној ставке података може захтевати прилагођавање свих функција које имају приступ њему.

На пример, у програм рачуноводство неко одлучи да чине коду треба да се састоји не од 5 цифара, а од 12. То ће захтевати промену тип података из кратког до дуго. Сада у вези са код функција мора бити модификован да ради са новом формату.

Када су елементи променили у већој примени, тешко је рећи шта поступци имају приступ њима. Али, чак и ако овој слици, мењајући их може довести до неправилног рада са другим глобалним подацима. Све је повезано и са свим осталим, па промена на једном месту осветити у другом.

Моделирање стварни свет

Други и важнији проблем процедуралне парадигме је да његова локација специфичне податке и функције слабо симулира ствари у стварном свету. Овде се ради о предметима као што су људи или аутомобила. Они су као без података или функције. Сложени стварног света објекти имају атрибуте и понашања.

атрибути

Примери атрибута (понекад се назива Пропертиес) за људе су боја очију и назив поста, за ауто - моћ и број врата. Како се испоставило, атрибути стварном свету еквивалент подацима у програму. Они имају посебне вредности, као што су плаве (боја очију) или четири (број врата).

понашање

Понашање - да су из стварног света објекти произведени као одговор на неку врсту утицаја. Ако питате шефа за повећање плата, одговор је "да" или "не". Ако притиснете на кочницу, ауто ће се зауставити. И заустављање исказ понашања су примери. Понашање сличан поступку: зове се да уради нешто, а то ради. Према томе, подаци и функције саме по себи не модел реалног света објеката ефикасно.

Обраћајући

Објекат у ООП је представљена као скуп података и функција. Само процедуре које се називају функције чланице у Ц ++, омогућавају да се добије њену вредност. То су скривени и заштићени од промена. Значења и функције инкапсулирани у једну. Енцапсулатион и уприативание - основни појмови у опису објектно оријентисаних језика.

Ако желите да промените податке, тачно зна шта функције у интеракцији са њима. Ниједан други поступци не могу им приступе. Ово поједностављује писање, исправљање грешака, и одржавање програма.

Апликација обично састоји од неколико објеката који су у интеракцији једни са другима, изазивајући функције чланице.

Данас, језик ООП најраспрострањенији (објектно оријентисано програмирање) - Ц ++ (плус плус). У Јави недостају неке функције као што су показивачи, шаблони и вишеструког наслеђивања, што га чини мање моћна и разноврсна од Ц ++. Ц #, још увек није достигао популарност Ц ++.

Треба напоменути да је такозвани функције чланице у Ц ++ зове метода у неким другим језицима објектно-оријентисане као што су Смаллталк. Ставке података називају се атрибути. Позивање метод објекта му шаље поруке.

аналогија

Можете замислити објекте одељења компаније. У већини организација, запослени не раде један дан са особљем, следећи прекомерно плате, а потом недељу дана ангажована у трговини на мало. Свако одељење има свој штаб, са јасно дефинисаним обавезама. Постоје своје податке: показатељи плата, продаје, рачуноводства особља, итд Људи у одељењима раде са својим подацима ... Подела предузећа, дакле, олакшава контролу над својим операцијама и одржава интегритет података. Рачуноводство је одговоран за платном списку. Ако желите да знате укупан износ исплаћених зарада у јужном краку у јулу, не треба да улазите у архиву. Довољно је да пошаљете поруку на одговорно лице, сачекајте да та особа има приступ подацима и шаље одговор на тражене информације. Ово обезбеђује усклађеност са прописима и одсуство спољног мешања. На исти начин објекат у ПЛО даје организације апликацију.

Треба имати на уму да је оријентација објеката се не односи на детаљима програма рада. Већина инструкције ц ++ операторе одговара процедуралним језицима попут Ц. У ствари, функције чланице ин Ц ++ су веома слична функција у Ц. Једино шири контекст омогућиће да се утврди да ли је инструкција процедуралне или објектно оријентисаних.

Објекат у ООП: Дефиниција

Када се разматра проблем програмирања у објектно оријентисаног језика уместо питања о њеној подели у посебне функције је проблем у одвајању објектима. ООП размишљање је много лакше за развој апликација. То је због сличности софтвера и стварних објеката.

Какве ствари су објекти у ООП? Ево неких типичних категорија.

Физички објекат у ООП - је:

  • моделс транспорт флов;
  • електричне компоненте у програмима дизајна цирцуит;
  • економија модела земље;
  • авиона у систему контроле летења.

Елементи животне средине рачунару корисника:

  • мени;
  • прозори;
  • графика (лине, правоугаоник, круг);
  • тастатура, миш, штампач, дискове.

људи:

  • радници;
  • студенти;
  • клијенти;
  • продавци.

informacije:

  • књиговодство;
  • приватна ствар;
  • рјечник;
  • Табела географским ширинама и географске дужине насеља.

Комуникација реалног света објеката и ПЛО је резултат комбинације функција и података које су револуцију програмирање. Такав поклапање у процесним језика тамо.

класа

Објекти у ПЛО - члан класе. Шта то значи? Програмски језици имају уграђене типове података. Типе инт, т. Е. Цео број који је предодређен у Ц ++. Можете објавити било који број Инт варијабли.

Слично, мноштво објеката дефинисана једне класе. Он дефинише функције и подаци садржани у својим објектима, а не да их ствара, као и инт не ствара варијабле.

Класа у ПЛО - опис низа сличних објеката. Принц, Стинг и Мадона су певачи. Не постоји нико под тим именом, али људи могу да се зове тако, ако имају одговарајуће карактеристике. ООП објекат - овом случају.

наслеђе

У животу, часови су подељени у подгрупе. На пример, животиње су подељене у водоземаца, сисара, птица, инсеката и тако даље Д.

Принцип ове врсте поделе је да свака подгрупа има заједничке карактеристике са класа од којих је. Сви аутомобили имају точкове и мотор. Ово је дефинисање карактеристика возила. Поред општих карактеристика сваког поткласе има своје карактеристике. Постоје многе аутобуске седишта и возила имају простора да носе тежак терет.

Слично томе, основна класа може бити подкласе родитеља неколико деривати који се могу дефинисати тако да ће делити своје карактеристике уз додатак. Наслеђе као функција, поједностављење процедурални програм. Ако неколико делова кода раде прилично исти, можете издвојити заједничке елементе и ставио их у један поступак. Три подручја апликација може позвати функцију да обавља уобичајене радње, али могу произвести и своје операције. Слично томе, основна класа садржи информације заједнички групи деривата. Слична функција смањује баштину објектно оријентисаног програма и појаснити однос његових елемената.

рециклажа

Када је класа је креирана и Отклањање грешака, може се пренети на друге програмере да користите у својим апликацијама. То је као библиотеци функција које могу бити укључена у различитим апликацијама.

У ООП, наслеђивање је проширење идеје вишеструку употребу. Из постојеће класе, а да га не мења, можемо формирати нови са додатком других функција. Лакоћа поновне употребе постојећих софтвера - важна предност ПЛО. Сматра се да она пружа све већи исплативост почетне инвестиције.

Стварање нових типова података

Објекти погодни за стварање нових типова података. Претпоставимо да програм користи дводимензионалне вредности (нпр координате или географску ширину и дужину), и имају жељу да изрази радњу аритметике на њих:

поситион1 = поситион + порекло,

где поситион1, положај и порекло - пар независних нумеричких вредности. Стварање класу која укључује ова два вредности, и декларације променљивих својих објеката ствара нови тип података.

Полиморфизам, преоптерећења

Оператори = (једнаке) и + (плус) се користе у аритметици позициони горе не делују, као и уграђене типова, као што инт. Положај објеката, и др. Зар предодређено и поставља софтвера. Како ови оператери знају како са њима? Одговор лежи у чињеници да се нова понашања може подесити за њих. Ове операције ће бити члан функције Класа Позиција.

Коришћење оператора или поступака у зависности од тога шта они раде се зове полиморфизам. Када постоји оператор, као што је + или =, добија прилику да ради са новим типом података, каже да је преоптерећен. Преоптерећења у ПЛО - нека врста полиморфизма. То је његова битна карактеристика.

Књига о ПЛО "Објецт-Ориентед Программинг фор Думмиес" ће омогућити свима да се упознају са овом темом у више детаља.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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