Programare orientată pe obiecte vs programare procedurală
Programarea orientată pe obiecte (OOP) și programarea procedurală sunt două paradigme de programare. O paradigmă de programare este un stil fundamental de programare pe computer și diferă prin modul în care sunt reprezentate diferite elemente ale programului și modul în care sunt definiți pașii pentru rezolvarea problemelor. După cum sugerează și numele, OOP se concentrează pe reprezentarea problemelor folosind obiecte din lumea reală și comportamentul lor, în timp ce Programarea procedurală se ocupă cu reprezentarea soluțiilor la probleme folosind proceduri, care sunt colecții de cod care rulează într-o ordine specifică. Există limbaje de programare care acceptă aspecte cheie ale OOP (numite limbaje OOP), procedurale (numite limbaje procedurale) și ambele. Dar un lucru important de remarcat este că POO și procedural sunt două moduri de a reprezenta problemele de rezolvat și nu contează ce limbă este utilizată. Cu alte cuvinte,Limbajele OOP pot fi utilizate pentru programarea procedurală, în timp ce limbajele procedurale pot fi uneori folosite pentru OOP, cu ceva efort.
Programarea procedurală este o modalitate de programare prin identificarea setului de pași pentru a rezolva o anumită problemă și ordinea exactă în care aceștia ar trebui executați 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 următorii. Mai întâi, obțineți soldul inițial al contului și apoi reduceți toate sumele de debit apărute în cursul lunii. După aceea, adăugați toate sumele de credit apărute în cursul lunii. La sfârșitul procesului, veți obține soldul de închidere a contului la sfârșitul lunii. Unul dintre conceptele principale ale programării procedurale este apelul de procedură. O procedură cunoscută și sub numele 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 din timpul execuției prin orice altă procedură sau de la sine. Exemple de limbaje de programare procedurală sunt C și Pascal.
În POO, accentul se pune pe gândirea la problema care trebuie rezolvată în termeni de elemente din lumea reală și reprezentarea problemei în termeni de obiecte ș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ă atribute și comportamentul obiectelor din lumea reală. Există mai multe concepte OOP importante, cum ar fi abstractizarea datelor, încapsularea, polimorfismul, mesageria, modularitatea și moștenirea. Unele limbaje OOP populare sunt Java și C #. Cu toate acestea, ele pot fi utilizate și pentru efectuarea programării procedurale.
Diferența esențială dintre OOP și programarea procedurală este că accentul programării procedurale este descompunerea sarcinii de programare într-o colecție de variabile și subrutine, în timp ce accentul OOP este descompunerea sarcinii de programare în obiecte, care încapsulează date. și metode. Cea mai notabilă diferență ar putea fi că, în timp ce programarea procedurală utilizează proceduri pentru a opera direct pe structuri de date, POO va grupa datele și metodele, astfel încât un obiect să funcționeze pe propriile sale date. Când vine vorba de nomenclatură, procedura, modulul, apelul de procedură și variabila din Programarea procedurală sunt adesea menționate ca metodă, obiect, mesaj și atribut în OOP, respectiv.