This shows you the differences between two versions of the page.
poo-is-ab:laboratoare:02 [2024/10/12 20:28] razvan.cristea0106 [Programarea Orientată pe Obiecte (POO)] |
poo-is-ab:laboratoare:02 [2025/01/19 22:28] (current) razvan.cristea0106 |
||
---|---|---|---|
Line 61: | Line 61: | ||
<note important>Se poate observa deja o diferență între modul de utilizare a structurii în limbajele C și C++. Compilatorul de C++ recunoaște structura **Avion** ca un tip de date definit de către programator, permițând crearea de instanțe ale acesteia fără a fi necesară utilizarea cuvântului cheie **struct** în declarație.</note> | <note important>Se poate observa deja o diferență între modul de utilizare a structurii în limbajele C și C++. Compilatorul de C++ recunoaște structura **Avion** ca un tip de date definit de către programator, permițând crearea de instanțe ale acesteia fără a fi necesară utilizarea cuvântului cheie **struct** în declarație.</note> | ||
- | În limbajul C pentru a putea avea programul identic cu cel de mai sus trebuie să procedăm în felul următor. | + | În limbajul C pentru a putea avea programul identic cu cel de mai sus trebuie să procedăm astfel. |
<code c> | <code c> | ||
Line 96: | Line 96: | ||
</code> | </code> | ||
- | De acum înainte când vom discuta despre structuri ne vom referi doar la cele din limbajul C++. Variabilele **numarLocuri**, **anFabricatie** și **capacitateRezervor** poartă denumirea de câmpuri sau membri, deoarece se găsesc în interiorul declarației structurii **Avion**. Prin intermediul operatorului **"."** am avut acces **direct** la acești membri pe care am putut să îi modificăm și mai apoi i-am folosit la afișarea avionului în funcția **main**. | + | De acum înainte când vom discuta despre structuri ne vom referi **doar** la cele din limbajul **C++**. Variabilele **numarLocuri**, **anFabricatie** și **capacitateRezervor** poartă denumirea de **câmpuri** sau **membri**, deoarece se găsesc în interiorul declarației structurii **Avion**. Prin intermediul operatorului **"."** am avut acces **direct** la acești membri pe care am putut să îi modificăm și mai apoi i-am folosit la afișarea avionului în funcția **main**. |
Până aici nu este nimic nou față de ce știați deja de la disciplinele **PCLP** și respectiv **PA**. Cu toate acestea care este diferența fundamentală între structura din C și cea din C++? Răspunsul îl vom afla mai târziu după ce vom înțelege ce este **Programarea Orientată Obiect**. | Până aici nu este nimic nou față de ce știați deja de la disciplinele **PCLP** și respectiv **PA**. Cu toate acestea care este diferența fundamentală între structura din C și cea din C++? Răspunsul îl vom afla mai târziu după ce vom înțelege ce este **Programarea Orientată Obiect**. | ||
Line 102: | Line 102: | ||
==== Programarea Orientată pe Obiecte (POO) ==== | ==== Programarea Orientată pe Obiecte (POO) ==== | ||
- | **Programarea Orientată Obiect**, tradusă din englezescul **Object-Oriented Programming (OOP)**, este un nou mod de a scrie și a organiza codul sursă, practic o nouă paradigmă de programare așa cum am mai menționat anterior. **POO** oferă o modalitate mai intuitivă și mai naturală de a învăța programarea, deoarece reflectă într-o anumită măsură modul în care percepem lumea reală. În POO, conceptele din viața de zi cu zi, cum ar fi obiectele și relațiile dintre ele, sunt transpuse în cod prin **clase** și **obiecte**. Astfel, programatorii pot modela entități reale, fiecare având **atribute** (**proprietăți/câmpuri/membri**) și **comportamente** (**funcții membre/metode**), aceasta fiind o modalitate prin care programarea a devenit mai ușor de înțeles și de gestionat. Această abordare modulară simplifică dezvoltarea de aplicații complexe și încurajează reutilizarea codului. | + | **Programarea Orientată Obiect**, tradusă din englezescul **Object-Oriented Programming (OOP)**, este un nou mod de a scrie și a organiza codul sursă, practic o nouă paradigmă de programare așa cum am mai menționat anterior. **POO** oferă o modalitate mai intuitivă și mai naturală de a învăța programarea, deoarece reflectă într-o anumită măsură modul în care percepem lumea reală. În **POO**, conceptele din viața de zi cu zi, cum ar fi obiectele și relațiile dintre ele, sunt transpuse în cod prin **clase** și **obiecte**. Astfel, programatorii pot modela entități reale, fiecare având **atribute** (**proprietăți/câmpuri/membri**) și **comportamente** (**funcții membre/metode**), aceasta fiind o modalitate prin care programarea a devenit mai ușor de înțeles și de gestionat. Această abordare modulară simplifică dezvoltarea de aplicații complexe și încurajează reutilizarea codului. |
=== Principiile POO === | === Principiile POO === |