Кључна разлика : У процедуралном програмирању програми се изводе са функцијама, а подаци програма се могу лако приступити и променити; док је у објектно оријентисаном програмирању сваки програм састављен од ентитета који се називају објекти, а којима се не може лако приступити и промијенити.
Процедура, или функција, је скуп специфичних инструкција које се извршавају једна за другом. На основу података поступа се низ поступака. Подаци су сасвим одвојени од процедуре и креирани су различити програми како би се пратиле функције и промењени подаци. ООП и ПОП су два таква програма, а овај чланак разликује ова два.
Термин ООП означава 'Објектно оријентисано програмирање'. Представља објекте који имају поља података. Поља података су у основи атрибути који описују објект. Процедуре повезане са објектима познате су као методе. ООП ставља податке тамо где остатак програма није директно доступан. Методе су једини начин да се ови подаци процене. Објекти, који су обично примери класа, користе се за међусобну интеракцију у дизајнирању апликација и компјутерских програма. Јава је тип објектно оријентисаног програмског језика.
Термин ПОП означава 'процедурално оријентисано програмирање'. Изводи се из структурираног програмирања. Процедуре једноставно садрже низ рачунских корака које треба извршити. Он креира програм корак-по-корак који води апликацију кроз низ инструкција. Свака инструкција се извршава редом. То је листа или скуп инструкција које говоре компјутеру шта да раде на сваком кораку и како да изврше од првог кода до другог кода. Програм је подељен на мале делове који се називају функције. Ц и Ц ++ су два типа процедуралних програмских језика.
Поређење између ООП-а и ПОП-а:
ООП | ПОП | |
Скраћенице | То је 'Објецт Ориентатед Программинг'. | То значи 'процедурално оријентисано програмирање'. |
Програми | Главни програм је подељен на мале објекте у зависности од проблема. | Главни програм је подељен на мале делове у зависности од функција. |
Повезивање | Функције објеката се повезују са другим објектима помоћу поруке која пролази. | Различити делови програма међусобно су повезани проласком параметара и коришћењем оперативног система. |
Дата | Подаци и функције сваког појединачног објекта дјелују као једна јединица. | Свака функција садржи различите податке. |
Значај | Подаци добијају већу важност него функције у програму. | Функције или алгоритми добијају већу важност од података у програму. |
Дата цонтрол | Сваки објекат контролише своје податке. | Већина функција користи глобалне податке. |
Трансфер | Подаци не прелазе из једног објекта у други. | Исти подаци могу бити преносиви са једне функције на другу. |
Скривање података | Скривање података је могуће, што спречава илегални приступ функције изван ње. | Не постоји савршен начин за сакривање података. |
Комуникација | Један објекат се повезује са другим путем поруке која пролази. | Функције комуницирају са другим функцијама одржавајући се као уобичајена правила. |
Аддитион | Ако је потребно, са програмом можете додати више података или функција. У ту сврху није потребно мијењати цијели програм. | Више података или функција се не може додати програму ако је потребно. У ту сврху, потребно је промијенити цијели програм. |
Дозвола | Прослеђивање порука обезбеђује дозволу за приступ члану објекта из другог објекта. | Да би додао нове податке у програм, корисник треба да осигура да функција то дозвољава. |
Процес | Процес дизајна се прати одоздо према горе. | За дизајн програма следи процес одозго на доле. |
Преоптерећење | Преоптерећење је могуће у облику преоптерећења функција и преоптерећења оператера. | Преоптерећење није могуће. |
Приступ | Користе се јавни, приватни и заштићени приступни спецификатори. | Не користе се спецификатори приступа. |
Примери | Ц ++, Јава. | Пасцал, Фортран |