Programarea orientată pe obiecte vs. programarea procedurală
Programarea orientată pe obiecte (OOP) și programarea procedurală sunt două paradigme de programare. O paradigmă de programare este un stil fundamental al programării pe calculator și diferă în modul în care sunt reprezentate diferite elemente ale programului și cum sunt definite pașii pentru rezolvarea problemelor. După cum sugerează și numele, OOP se concentrează pe reprezentarea problemelor care utilizează obiectele din lumea reală și comportamentul acestora, în timp ce Programarea procedurală se ocupă cu reprezentarea soluțiilor la probleme prin utilizarea procedurilor, care sunt colecții de cod care rulează într-o anumită ordine. Există limbi de programare care sprijină aspectele cheie ale OOP (numite limbi OOP), procedurale (numite limbi procedurale) și ambele. Dar este important să observăm că OOP și Procedural sunt două modalități de a reprezenta problemele care trebuie rezolvate și nu contează ce limbă este folosită. Cu alte cuvinte, limbile OOP pot fi folosite pentru programarea procedurală, în timp ce limbile de procedură pot fi uneori utilizate pentru OOP, cu un anumit efort.
Procedura de programare este o modalitate de programare prin identificarea setului de pași pentru a rezolva o anumită problemă și ordinea exactă pe care ar trebui să fie executată pentru a ajunge la rezultatul sau starea dorită. De exemplu, dacă doriți să calculați soldul de închidere de sfârșit de lună pentru un cont bancar, atunci pașii necesari ar fi după cum urmează. În primul rând, achiziționați soldul inițial al contului și apoi reduceți toate sumele debitului care au avut loc în cursul lunii. După aceasta, adăugați toate sumele de credit efectuate în cursul lunii. La sfârșitul procesului, veți obține soldul de închidere de sfârșit de lună al contului. Unul dintre conceptele principale ale programării procedurale este apelul de procedură. O procedură cunoscută sub denumirea de subrutină, metodă sau funcție conține o listă ordonată de instrucțiuni care trebuie efectuate. O procedură poate fi apelată în orice moment în timpul executării prin orice altă procedură sau prin ea însăși. Exemple de limbi de programare procedurală sunt C și Pascal.
În PLO, accentul se pune pe gândirea problemei care trebuie rezolvată în ceea ce privește elementele lumii reale și reprezentând problema în ceea ce privește obiectele și comportamentul lor. Obiectul este o structură de date care seamănă foarte mult cu un obiect din lumea reală. Obiectele conțin câmpuri de date și metode care reprezintă atributele și comportamentul obiectelor din lumea reală. Există câteva concepte OOP importante, cum ar fi abstractizarea datelor, încapsularea, polimorfismul, mesajele, modularitatea și moștenirea. Unele limbi OOP populare sunt Java și C #. Cu toate acestea, ele pot fi folosite pentru a efectua programarea procedurală.
Diferența esențială dintre OOP și programarea procedurală este că accentul programării procedurale este acela de a descompune sarcina de programare într-o colecție de variabile și subrutine, în timp ce obiectivul OOP este de a descompune sarcina de programare în obiecte care încapsulează datele și metodele. Cea mai importantă diferență ar putea fi faptul că, în timp ce procedura de programare utilizează proceduri pentru a opera direct asupra structurilor de date, OOP va îmbina datele și metodele împreună, astfel încât un obiect să funcționeze pe propriile sale date. Când vine vorba de nomenclatură, procedură, modul, apel de procedură și variabilă în programarea procedurală sunt adesea denumite în continuare metode, obiecte, mesaje și atribute în PPE.