Разлика између ООП и ПОП

Аутор: Laura McKinney
Датум Стварања: 2 Април 2021
Ажурирати Датум: 17 Може 2024
Anonim
Ruski pravoslavni pop o muslimanima
Видео: Ruski pravoslavni pop o muslimanima

Садржај


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

Велики програми доводе до више грешака, а повећава време уклањања погрешака. Све ове мане воде новом приступу, наиме „објектно оријентисаном програмирању“. Код објектно оријентисаног програмирања главна брига је дата на „сигурност података'; он веже податке уско са функцијама које на њему раде. Такође решава проблем „поновна употреба кода“, Као да је класа створена, може се створити више инстанци (објеката) који поново користе чланове и функције чланова дефинисане класом.


Постоје неке друге разлике које се могу објаснити помоћу упоредне табеле.

    1. Упоредни графикон
    2. Дефиниција
    3. Кључне разлике
    4. Предности
    5. Недостаци
    6. Закључак


Упоредни графикон

Основе за поређењеПОПООП
Основни
Процедура / структура оријентисана.
Објектно оријентисан.
Приступ Одозго.Одоздо према горе.
ОсновеГлавни фокус је на "како извршити задатак", тј. На процедуру или структуру програма.Главни фокус је на безбедности података. Дакле, само је објектима дозвољено приступити ентитетима класе.
ДивизијаВелики програм је подељен у јединице које се називају функције.Читав програм је подељен на објекте.
Режим приступа ентитетуНије примећен спецификатор приступа.
Специфичари приступа су "јавни", "приватни", "заштићени".
Преоптерећење / полиморфизамНити преоптерећује функције нити операторе.Преоптерећује функције, конструкторе и оператере.
НаслеђивањеЊих није обезбеђивање наслеђивања.Насљеђивање постигнуто у три начина јавног и приватног заштићеног.
Сакривање података и сигурностНе постоји одговарајући начин скривања података, па су подаци несигурни Подаци су сакривени у три начина, јавном, приватном и заштићеном. стога се сигурност података повећава.
Дељење податакаГлобални подаци се деле међу функцијама у програму.Подаци се дијеле међу објектима путем функција чланова.
Функције / класе пријатељаНема концепта функције пријатеља.Класе или функције могу постати пријатељи друге класе с кључном речју "пријатељ".
Напомена: кључна реч "фриенд" користи се само у ц ++
Виртуелне часове / функцијеНема концепта виртуалне наставе.Концепт виртуалне функције појављује се током насљеђивања.
Пример Ц, ВБ, ФОРТРАН, ПасцалЦ ++, ЈАВА, ВБ.НЕТ, Ц # .НЕТ.


Дефиниција објектно оријентисаног програмирања (ООП)

Главна брига ООП-а је сакривање података из нечланских функција класе које третира као „критичне информације“. Подаци су уско повезани са функцијама чланова класе која на њима делује. Не дозвољава ниједној функцији која није члан да мења податке унутар ње. Објекти међусобно комуницирају путем функција чланова ради приступа њиховим подацима.

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

Објектно оријентирани појмови

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

Дефиниција процедурално оријентисаног програмирања (ПОП)

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

ПОП карактеристике

  • Док дизајнира програм, ПОП слиједи програмски приступ одозго према доље.
  • Већина функција омогућава дељење глобалних података.
  • Такође дели веће програме на мање делове који се називају функције.
  • Омогућује слободно кретање података по систему од функција до функција.
  • Подаци се трансформишу помоћу функција из једног облика у други.
  • То даје значај концепту функција.
  1. ПОП је процесно оријентисано програмирање док је ООП објектно оријентисано програмирање.
  2. Главни фокус ПОП-а је на „како извршити задатак“Следи дијаграм тока како бисте обавили задатак. ООП је главни фокус на сигурност података јер је само објектима класе дозвољен приступ атрибутима или функцији класе.
  3. Тхе функције су мале јединице великих програма или подпрограми који се извршавају да би се обавио главни задатак. Супротно томе, ООП атрибути и функције класе су подељени између објеката.
  4. У ПОП-у не постоји одређени режим приступа за приступ атрибутима или функцијама у програму. Супротно томе, у ООП-у постоје три начина приступа „јавни“, „приватни“, „заштићени“, који се користе као метод приступа за приступ атрибутима или функцијама.
  5. ПОП не подржава концепт преоптерећења / полиморфизма. Супротно томе, ООП подржава преоптерећење / полиморфизам, што значи да се користи исти назив функције за обављање различитих функција. Можемо преоптеретити функције, конструктора и оператере у ООП-у.
  6. У ПОП-у не постоји концепт насљеђивања док ООП подржава насљеђивање што омогућава насљеђивање атрибута и функција друге класе.
  7. ПОП је мање сигуран у поређењу с ООП-ом јер у ООП-у приступни спецификатор ограничава приступ атрибутима или функцијама које повећавају сигурност.
  8. У ПОП-у, ако ће се неки подаци делити између свих функција у програму, декларишу се глобално изван свих функција. Док је у ООП-у, члану података класе може се приступити преко функција чланова класе.
  9. У ПОП-у не постоји концепт функције пријатеља. Насупрот томе, у ООП-у постоји концепт функције пријатеља који није члан класе, али зато што је члан пријатеља, може приступити члану података и функцијама чланова класе.
  10. У ПОП-у не постоји концепт виртуалних класа док у ООП-у виртуалне функције подржавају полиморфизам.

Предности

ПОП (Програмирање оријентисано)

  • Пружа могућност поновне употребе истог кода на разним местима.
  • Олакшава праћење протока програма.
  • Способан за изградњу модула.

ООП (објектно оријентисано програмирање)

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

Недостаци

ПОП (Програмирано оријентисано програмирање)

  • Глобални подаци су рањиви.
  • Подаци се могу слободно кретати у оквиру програма
  • Тешко је провјерити положај података.
  • Функције су оријентисане према акцијама.
  • Функције се не могу односити на елементе проблема.
  • Проблеми у стварном свету се не могу моделирати.
  • Делови кода су медеусобно зависни.
  • Један код апликације се не може користити у другој апликацији.
  • Подаци се преносе помоћу функција.

ООП (објектно оријентисано програмирање)

  • За то је потребно више ресурса.
  • Динамичко понашање објеката захтева меморију РАМ-а.
  • Откривање и уклањање погрешака је теже у сложеним апликацијама када се пролази.
  • Наслеђивање чини њихове часове чврсто спојеним, што утиче на поновну употребу предмета.

Закључак

Пропусти ПОП-а настају у потреби за ООП-ом. ООП исправља недостатке ПОП-а увођењем концепта „објекта“ и „класе“. Повећава сигурност података и аутоматску иницијализацију и рашчишћавање објеката. ООП омогућава креирање више инстанци објекта без икаквих сметњи.