duminică, 7 septembrie 2025

Clase și obiecte. Sintaxă și semantică

Clasa stă de fapt la baza programării orientate e obiecte, pe ea este construit întregul limbaj Java, deoarece clasa definește obiectul.


O clasă reprezintă un șablon sau un tip de bază pentru crearea obiectelor. Este un tip abstract de date definit de programator. Atunci când definim o clasă nouă creăm un nou tip de date.

O clasă descrie un set de caracteristici (date, atribute sau variabile de instanță) și comportamente (funcționalitate, metode sau funcții) pe care obiectele create din acea clasă le vor avea. Clasa în POO întrunește toate obiectele de una şi aceeași natură, ceea ce înseamnă că obiectele care aparțin uneia și aceleiași clase au una şi aceeași structură şi comportament.

Sintaxa de definire a unei clase este: 

Prima parte din declarația unei clase o constituie modificatorii de acces care sunt opționali. După numele clasei putem specifica, dacă este cazul, faptul că respectiva clasă este subclasă a unei alte clase cu numele nume_super_clasă, sau/şi că implementează una sau mai multe interfeţe ale căror nume trebuie separate prin virgulă.


Corpul unei clase este cuprins între { } şi are ca conţinut:
  • declararea şi inițializarea variabilelor de instanţă şi de clasă;
  • declararea şi implementarea constructorilor;
  • declararea şi implementarea metodelor de instanţă şi de clasă;
  • declararea unor clase interne.
Reţineţi!
  • într-un fișier Java pot fi definite mai multe clase;
  • într-un fișier Java numai o clasă poate avea modificatorul public;
  • fișierul Java ce conține o clasă publică trebuie să fie cu același nume ca și clasa publică.
O clasă poate avea unul din următoarele cuvinte rezervate în declarația acestora:

Exemplu de declarație de clasă: 


În Java orice clasă conţine 2 tipuri de elemente : atribute (variabilele) şi metode






Principiile Programării Orientate spre Obiecte

Principiul Abstractizării

  • Este procesul de a prelua obiecte din lumea reală și a le transforma în concepte virtuale. 
  • Reprezintă posibilitatea ca un program să ignore unele aspecte ale informației pe care o manipulează, adică oferă posibilitatea concentrării asupra esențialului, dintr-un anumit punct de vedere.

Principiul Moștenirii
  • Oferă posibilitatea de a proiecta noi clase folosind clase deja existente;
  • Clasa derivată moștenește variabilele și metodele clasei de bază;
  • Permite reutilizarea codului;
  • În Java o clasă nu poate extinde (moșteni) direct mai multe clase.
Principiul polimorfismului
  • Etimologic , cuvântul polimorfism provine din limba greacă, de la polys (multe) și morphos (forme);
  • În POO, prin polimorfism se înțelege posibilitatea ca, prin apelarea unei funcții, să obținem efecte diferite, în fucție de contextul apelului. De exemplu, pentru toate figurile geometrice putem calcula aria, însă pentru fiecare din ele se calculează diferit;
  • Deviza polimorfismului este ,, Același nume – implementare diferită”
Principiul Încapsulării
  • Acest termen definește accesul la membrii unei clase. Din anumite motive accesul la membrii unei clase se dorește a fi restricționați ca urmare aceștia sunt încapsulați în clasă prin intermediul unor cuvinte rezervate (modificatori de acces);
  • Reprezintă proprietatea obiectelor de a-și ascunde o parte din date și metode. Din exteriorul obiectului sunt accesibile (”vizibile”) numai datele și metodele publice.