Ključna razlika : U proceduralnom programiranju programi se izvode s funkcijama, a podaci programa mogu se lako pristupiti i promijeniti; dok je u objektno orijentiranom programiranju svaki program sastavljen od entiteta koji se nazivaju objekti, a kojima se ne može lako pristupiti i promijeniti.
Postupak ili funkcija je skup specifičnih uputa koje se izvršavaju jedna za drugom. Na temelju podataka postupa se niz postupaka. Podaci su sasvim odvojeni od postupka i kreirani su različiti programi kako bi se pratile funkcije i promijenjeni podaci. OOP i POP su dva takva programa, a ovaj članak razlikuje dva.
Izraz OOP znači "objektno orijentirano programiranje". Predstavlja objekte koji imaju polja s podacima. Polja podataka su u osnovi atributi koji opisuju objekt. Postupci povezani s objektima poznati su kao metode. OOP stavlja podatke tamo gdje ostatak programa nije izravno dostupan. Metode su jedini način na koji se ovi podaci mogu procijeniti. Objekti, koji su obično primjeri klasa, koriste se za međusobnu interakciju u dizajniranju aplikacija i računalnih programa. Java je tip objektno orijentiranog programskog jezika.
Pojam POP označava 'proceduralno orijentirano programiranje'. Izvodi se iz strukturiranog programiranja. Postupci jednostavno sadrže niz računalnih koraka koje treba provesti. To stvara korak-po-korak program koji vodi program kroz niz uputa. Svaka naredba se izvršava po redu. Riječ je o popisu ili skupu uputa koje govore računalu što da radi na svakom koraku i kako izvesti prvi kod u drugi kôd. Program je podijeljen na male dijelove koji se nazivaju funkcije. C i C ++ su dvije vrste proceduralnih programskih jezika.
Usporedba između OOP-a i POP-a:
OOP | POP | |
kratice | To znači "Objektno orijentirano programiranje". | To znači "proceduralno orijentirano programiranje". |
programi | Glavni program je podijeljen na male objekte ovisno o problemu. | Glavni program je podijeljen na male dijelove ovisno o funkcijama. |
povezivanje | Funkcije objekata se povezuju s drugim objektima pomoću poruke koja prolazi. | Različiti dijelovi programa međusobno su povezani prolaskom parametara i korištenjem operativnog sustava. |
Podaci | Podaci i funkcije svakog pojedinog objekta djeluju kao jedna jedinica. | Svaka funkcija sadrži različite podatke. |
Važnost | Podaci dobivaju na važnosti više od funkcija u programu. | Funkcije ili algoritmi dobivaju na važnosti više od podataka u programu. |
Kontrola podataka | Svaki objekt upravlja vlastitim podacima. | Većina funkcija koristi globalne podatke. |
Prijenos | Podaci ne prelaze iz jednog objekta u drugi. | Isti podaci mogu se prenositi s jedne funkcije na drugu. |
Skrivanje podataka | Skrivanje podataka je moguće, što sprječava ilegalni pristup funkcije izvan nje. | Ne postoji savršen način za skrivanje podataka. |
Komunikacija | Jedan objekt povezuje se s drugim putem prijenosa poruka. | Funkcije komuniciraju s drugim funkcijama održavajući se uobičajenim pravilima. |
Dodatak | Ako je potrebno, programom se može dodati više podataka ili funkcija. U tu svrhu nije potrebno mijenjati cijeli program. | Ako je potrebno, više podataka ili funkcija se ne može dodati programu. U tu svrhu potrebno je promijeniti cijeli program. |
Dopuštenje | Prijenos poruka osigurava dozvolu za pristup članu objekta iz drugog objekta. | Za dodavanje novih podataka u program, korisnik treba osigurati da funkcija to dopušta. |
Postupak | Za izradu programa slijedi postupak odozdo prema gore. | Za izradu programa slijedi postupak odozgo prema dolje. |
preopterećenje | Preopterećenje je moguće u obliku preopterećenja funkcija i preopterećenja operatera. | Preopterećenje nije moguće. |
Pristup | Koriste se javni, privatni i zaštićeni pristupni specifikatori. | Ne koriste se specifikatori pristupa. |
Primjeri | C ++, Java. | Pascal, Fortran |