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

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

Зошто објектно-ориентираното програмирање е најпосакувана во повеќето проекти? ПЛО нуди ефективен начин да се справи со нивната комплексност. Наместо да се размислува за програма како низа на извршна инструкции, го претставува како група на предмети со одредени својства и производство на нив со одредени активности. Ова резултира со појасен, посигурен и legkosoprovozhdaemyh апликации.

Основните принципи на објектно-ориентирано програмирање (OOP) формираат поради ограничувањата биле пронајдени во претходно постоечките пристапи. Меѓу нив - неограничен пристап до податоците и голем број на линкови, кои се наметнуваат ограничувања на промена. Нивната свест и причини да се разбере она OOP програмирање и кои се нејзините предности.

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

C, Паскал, FORTRAN, и слични јазици се процедурални. Тоа е, секој од операторот кажува на компјутерот да се направи нешто: да се добие податоци, да додадете на броеви, поделени во шест, резултатот прикажани. Додаток процедурални јазик е листа настава. Ако тоа е мал, не е потребно ниту еден друг принцип организирање (често се нарекува како парадигма). На програмерот создава листа на инструкции, и компјутерот ги извршува.

Поделба на функциите

Кога апликации стануваат се повеќе незгодни листа на се врти. Ретко кој може да се разбере повеќе од неколку стотици инструкциите сè додека не се групирани. За оваа причина, на функцијата е начин да се направи апликација повеќе разбирлив за неговите творци. Во некои јазици, истиот концепт може да се нарече subroutines или процедури.

Во стан е поделена на функции, од кои секоја има јасно дефинирана цел и интерфејс.

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

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

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

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

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

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

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

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

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

Кога две или повеќе функции имаат пристап до истите податоци, тие мора да бидат глобални. Како, на пример, да се земат предвид информациите за предмети. На глобалната податоци може да биде било која достапна постапка.

Во голема програма, постојат многу опции и многу глобални елементи. Проблемот на процедуралните парадигма е дека тоа води до поголем број на потенцијални врски меѓу нив.

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

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

Кога овие елементи ќе се промени во поголема примена, тоа е тешко да се каже она што процедури имаат пристап до нив. Но, дури и ако оваа бројка, менување на нив може да доведе до неправилна работа со други глобални податоци. Сé е поврзано со сè друго, па така промената на едно место се врати како бумеранг во друга.

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

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

атрибути

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

однесување

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

Обраќајќи

Објект во OOP е претставена како збир на податоци и функции. Само процедури кои се нарекуваат член функции во C ++, овозможи да се добие својата вредност. Овие се скриени и заштитени од промени. Значења и функции се врзуваат во една. Херметичка и upryatyvanie - основни поими во описот на објектно-ориентирани јазици.

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

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

Денес, јазикот OOP најраспространетиот (објектно-ориентирано програмирање) - C ++ (плус плус). Во Јава, нема некои функции како покажувачи, шаблони и повеќе наследство, што го прави помалку моќен и сестран од C ++. С # уште не ја достигна популарноста на C ++.

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

аналогија

Можете да замислите на објекти на оддели на компанијата. Во повеќето организации, вработените не работат еден ден со вработените, следниве overcharging плата, а потоа една недела се вклучени во трговијата на мало. Секој оддел има свои вработени, со јасно одредени задачи. Постојат сопствени податоци: Показатели на платите, продажбата, сметководството на персоналот, итн Луѓето во одделенија да работат со нивните информации ... Поделбата на компанијата, според тоа, го олеснува контролата на своето работење и го одржува интегритетот на податоците. Сметководство е одговорен за својот платен список. Ако сакате да знаете вкупниот износ на плати на јужната гранка во јули, не треба да истражувам во архивата. Доволно е да испратите белешка на одговорното лице, почекајте додека тоа лице да има пристап до податоците и испраќа одговор на бараната информација. Ова обезбедува усогласеност со прописите и отсуството на надворешно мешање. На ист начин на објект во ПЛО обезбедува примена организација.

Треба да се запомни дека ориентацијата на објекти не се однесува на детали за програмата за работа. Повеќето инструкции C ++ оператори одговара на процедуралните јазици како C. Всушност, функциите на член во C ++ се многу слични функции во C. Само поширок контекст, ќе ви овозможи да се утврди дали на настава процедурални или објектно-ориентирана.

Објект во OOP: Дефиниција

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

Каков вид на работи се објекти во OOP? Еве некои типични категории.

Физички објект во OOP - е:

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

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

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

луѓе:

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

информации:

  • книга на евиденција;
  • е приватна работа;
  • речникот;
  • табела на ширини и должина на населените места.

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

класа

Објекти во ПЛО - член на класа. Што значи тоа? Програмски јазици имаат вграден типови на податоци. Тип на INT, t. E. цел број кој е предодредено во C ++. Можете да се прогласиме за било кој број на int променлива.

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

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

наследство

Во животот, класи се поделени во поткласи. На пример, животните се поделени на водоземците, цицачите, птици, инсекти и така натаму. Д.

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

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

рециклирање

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

Во OOP, наследство е продолжување на идејата за повеќекратна употреба. Од постоечка класа, без да се менува, ние може да се формира нова со додавање на други функции. Леснотијата на ре-употреба на постоечките софтвер - важна предност на ПЛО. Се верува дека таа обезбедува зголемување на профитабилноста на почетната инвестиција.

Создавање на нови типови на податоци

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

position1 = позиција + потекло,

каде position1, позиција и потекло - пар на независна нумерички вредности. Креирање на класа која ги вклучува овие две вредности, и променливи декларации на своите објекти создава нов тип на податок.

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

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

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

Книгата на ПЛО "Објектно-ориентирано програмирање for Dummies" ќе им овозможи на сите да се запознаат со оваа тема во повеќе детали.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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