Acest articol se concentrează pe discutarea diferențelor dintre programarea procedurală și cea orientată pe obiecte.
Programare procedurală
Programarea procedurală poate fi definită ca un model de programare care este derivat din programarea structurată, bazată pe conceptul de procedură de apelare. Procedurile, cunoscute și sub numele de rutine, subrutine sau funcții, constau pur și simplu într-o serie de pași de calcul care trebuie efectuati. În timpul execuției unui program, orice procedură dată poate fi apelată în orice moment, inclusiv prin alte proceduri sau prin ea însăși.
Limbaje utilizate în programarea procedurală:
FORTRAN, ALGOL, COBOL,
BASIC, Pascal și C.
Programare orientată pe obiecte
Programarea orientată pe obiecte poate fi definită ca un model de programare care se bazează pe conceptul de obiecte. Obiectele conțin date sub formă de atribute și cod sub formă de metode. În programarea orientată pe obiecte, programele de calculator sunt concepute folosind conceptul de obiecte care interacționează cu lumea reală. Limbajele de programare orientate pe obiecte sunt diverse, dar cele mai populare sunt bazate pe clasă, ceea ce înseamnă că obiectele sunt instanțe ale claselor, care determină și tipurile acestora.
Limbaje utilizate în programarea orientată pe obiecte:
Java, C++, C#, Python,
PHP, JavaScript, Ruby, Perl,
Obiectiv-C, Dart, Swift, Scala.
structură de date
Programare procedurală vs programare orientată pe obiecte
Mai jos sunt câteva dintre diferențele dintre programarea procedurală și cea orientată pe obiecte:
| Programare orientată pe procedura | Programare orientată pe obiecte |
|---|---|
| În programarea procedurală, programul este împărțit în părți mici numite funcții . | În programarea orientată pe obiecte, programul este împărțit în părți mici numite obiecte . |
| Programarea procedurală urmează a abordare de sus în jos . | Programarea orientată pe obiecte urmează a Abordarea de jos în sus . |
| Nu există un specificator de acces în programarea procedurală. | Programarea orientată pe obiecte are specificatori de acces precum privat, public, protejat etc. |
| Adăugarea de date și funcții noi nu este ușoară. | Adăugarea de date și funcții noi este ușoară. |
| Programarea procedurală nu are nicio modalitate adecvată de a ascunde datele, așa că este mai puțin sigure . | Programarea orientată pe obiecte oferă ascunderea datelor așa cum este mai sigur . |
| În programarea procedurală, supraîncărcarea nu este posibilă. | Supraîncărcarea este posibilă în programarea orientată pe obiecte. |
| În programarea procedurală, nu există conceptul de ascundere și moștenire a datelor. | În programarea orientată pe obiecte se folosește conceptul de ascundere și moștenire a datelor. |
| În programarea procedurală, funcția este mai importantă decât datele. | În programarea orientată pe obiecte, datele sunt mai importante decât funcția. |
| Programarea procedurală se bazează pe lume ireală . | Programarea orientată pe obiecte se bazează pe lumea reala . |
| Programarea procedurală este utilizată pentru proiectarea programelor de dimensiuni medii. | Programarea orientată pe obiecte este folosită pentru proiectarea de programe mari și complexe. |
| Programarea procedurală folosește conceptul de abstractizare a procedurii. | Programarea orientată pe obiecte utilizează conceptul de abstractizare a datelor. |
| Reutilizarea codului absentă în programarea procedurală, | Reutilizabilitatea codului prezentă în programarea orientată pe obiecte. |
| Exemple: C, FORTRAN, Pascal, Basic etc. | Exemple: C++, Java, Python, C# etc. |