Peamine erinevus : protseduuride programmeerimisel täidetakse programme funktsioonidega ja programmide andmeid on lihtne juurde pääseda ja neid muuta; arvestades, et objektorienteeritud programmeerimises koosneb iga programm objektidest, mida ei saa kergesti juurde pääseda ja muuta.
Menetlus või funktsioon on konkreetsete juhiste kogum, mis täidetakse üksteise järel. Andmete põhjal rakendatakse mitmeid protseduure. Andmed on protseduurist täiesti erinevad ja loodud erinevad programmid funktsioonide ja muudetud andmete jälgimiseks. OOP ja POP on kaks sellist programmi ning selles artiklis eristatakse neid.
Termin OOP tähistab „Objektipõhist programmeerimist”. See esindab objekte, millel on andmeväljad. Andmeväljad on põhiliselt atribuudid, mis kirjeldavad objekti. Objektidega seotud protseduurid on tuntud kui meetodid. OOP asetab andmed, kui see ei ole ülejäänud programmiga otseselt kättesaadav. Meetodid on ainus viis, kuidas neid andmeid hinnata. Objekte, mis tavaliselt on klasside puhul, kasutatakse üksteisega suhtlemiseks rakenduste ja arvutiprogrammide kavandamisel. Java on tüüpi objektorienteeritud programmeerimiskeel.
Termin POP tähistab „protseduuripõhist programmeerimist”. See on tuletatud struktureeritud programmeerimisest. Menetlused sisaldavad lihtsalt mitmeid arvutuslikke samme. See loob samm-sammult programmi, mis juhib rakendust juhiste jada kaudu. Iga käsk täidetakse järjekorras. See on nimekiri või juhiste loend, mis ütleb arvutile, mida teha igas etapis ja kuidas teha esimesest koodist teise koodi. Programm on jagatud väikesteks osadeks, mida nimetatakse funktsioonideks. C ja C ++ on kahte tüüpi protseduuride programmeerimiskeeled.
OOP ja POP võrdlus:
OOP | POP | |
Lühendid | See tähistab „Object Orientated Programming”. | See tähistab protseduurile orienteeritud programmeerimist. |
Programmid | Põhiprogramm jaguneb sõltuvalt probleemist väikesteks objektideks. | Põhiprogramm jaguneb sõltuvalt funktsioonidest väikesteks osadeks. |
Linkimine | Objektide funktsioonid on ühendatud teiste objektidega, kasutades sõnumi möödumist. | Programmi erinevad osad on omavahel ühendatud operatsioonisüsteemi kasutava parameetriga. |
Andmed | Iga üksiku objekti andmed ja funktsioonid toimivad ühe üksusena. | Iga funktsioon sisaldab erinevaid andmeid. |
Tähtsus | Andmed muutuvad tähtsamaks kui programmi funktsioonid. | Funktsioonid või algoritmid omavad suuremat tähtsust kui programmi andmed. |
Andmete kontroll | Iga objekt kontrollib oma andmeid. | Enamik funktsioone kasutab globaalseid andmeid. |
Ülekanne | Andmed ei kanna ühelt objektilt teisele. | Samad andmed võivad olla ühest funktsioonist teise teisaldatavad. |
Andmete peitmine | Andmete peitmine on võimalik, mis takistab funktsiooni ebaseaduslikku juurdepääsu väljastpoolt. | Andmete peitmiseks pole täiuslikku viisi. |
Teabevahetus | Üks objekt seostub teise sõnumiga, kasutades sõnumi möödumist. | Funktsioonid suhtlevad teiste funktsioonidega, säilitades tavapärased reeglid. |
Lisamine | Vajadusel saate programmiga lisada rohkem andmeid või funktsioone. Selleks ei ole vaja kogu programmi muuta. | Vajadusel ei saa programmiga rohkem andmeid või funktsioone lisada. Selleks peab kogu programm olema muutunud. |
Luba | Sõnumi edastamine tagab loa teise objekti objektile pääsemiseks. | Uute andmete lisamiseks programmis peab kasutaja tagama, et see funktsioon seda võimaldab. |
Protsess | Programmi kujundamisel järgitakse alt-üles protsessi. | Programmi kujundamisel järgitakse ülalt alla protsessi. |
Ülekoormus | Ülekoormus on võimalik funktsiooni ülekoormuse ja operaatori ülekoormuse vormis. | Ülekoormus ei ole võimalik. |
Juurdepääs | Kasutatakse avaliku, era- ja kaitstud juurdepääsu spetsifikaate. | Juurdepääsu spetsifikaate ei kasutata. |
Näited | C ++, Java. | Pascal, Fortran |