marți, 11 februarie 2025

Conceptul de încapsulare. Fișă pentru instruirea practică


1. Creați o clasă Produs care să conțină atributul privat pret și atributul public denumire. Clasa va fi instanţiată cu ajutorul constructorului default generat de compilator. Valoarea atributului pret nu va putea fi accesată direct, ci doar prin metode publice (getter și setter).

La setarea prețului, verificați ca acesta să fie mai mare decât 0. Dacă se introduce o valoare nevalidă(mai mică sau egală cu 0), prețul nu va fi modificat, iar programul va afișa un mesaj de avertizare.

Creați, de asemenea, o clasă Test în care instanțiați clasa Produs și tetstați demonstrați funcționalitatea metodelor programate. 

2. Creați clasa Elev care să conțină două atribute private: media și absente, precum și un atribut public nume. Clasa va fi instanţiată cu ajutorul constructorului default generat de compilator. Atributele media și absente nu vor putea fi accesate direct, ci doar prin metode publice (getter și setter).

La setarea mediei, verificați ca valoarea să fie cuprinsă între 1 și 10. La setarea numărului de absențe, verificați ca valoarea să fie mai mare sau egală cu 0. Dacă se introduce o valoare greșită, atributul respectiv nu va fi modificat, iar programul va afișa un mesaj de avertizare.

Creați, de asemenea, o clasă Test în care să fie creat un obiect de tip Elev și să fie demonstrată funcționarea regulilor de validare.

3. Creați clasa ComandaOnline care va avea ca atribute numele clientului (atribut public) care face comanda, valoarea comenzii (atribut privat) și costul de livrare (atribut privat). Pentru instanţierea clasei se va folosi constructorul default generat de compilator. Clasa va avea ca metode:
  • metodele gett-eri care vor returna valorile variabilelor private;
  • metodă sett-er care va setează valoarea comenzii doar dacă este mai mare decât 0, altfel afișează mesaj de avertizare;
  • metodă sett-er care va seta costul livrării doar dacă acesta mai mare sau egal cu 0, altfel afișează mesaj de avertizare;
  • o metodă care va calcula și returna suma totală al comenzii, care constituie suma dintre valoarea comenzii și costul de livrare.
Creați și o clasă Test în care instanțiați clasa ComandăOnline și demonstrați funcționarea validărilor și a metodelor programate.

4. Creați clasa ContBancar care va avea următoarele atribute (date):
  • titular, atribut public de tip String care reprezintă numele și prenumele deținătorului de cont;
  • numarCont, atribut privat de tip String, care poate fi accesat doar prin metode publice de tip gett-er;
  • sold, atribut privat de tip double, care poate fi accesat doar prin metode publice gett-er și nu poate fi negativ.
Clasa va avea un constructor care inițializează toate atributele. La inițializarea soldului în constructor se va face o validare: dacă soldul introdus este negativ, acesta va fi setat la 0 și se va afișa un mesaj de avertizare.

Clasa va conține următoarele metode:
  • gett-er pentru numarCont care returnează numărul contului;
  • gett-er pentru sold care returnează soldul curent;
  • o metodă de efectuare a depunerii care va adaugă o sumă la sold numai dacă suma este pozitivă; altfel afișează mesaj de avertizare și nu modifică soldul;
  • o metodă care va efectua retragerea unei sume din cont care va scadea o sumă din sold numai dacă suma este pozitivă și nu depășește soldul disponibil; altfel afișează mesaj de avertizare și nu modifică soldul.
Creați și o clasă Test, în care să fie instanțiat un obiect de tip ContBancar și demonstrați funcționarea corectă a constructorului, a metodelor gett-er și a metodelor de depunere și retragere.

5. Creați o clasă ContBiblioteca care modelează contul unui utilizator într-o bibliotecă. Clasa va avea ca atribute
  • nume, atribut public de tip String care reprezintă numele utilizatorului;
  • cartiImprumutate, atribut privat de tip int care reprezintă numărul de cărți împrumutate;
  • limitaCarti, atribut privat de tip int, numărul maxim de cărți pe care utilizatorul le poate împrumuta.
Definiți în clasă un constructor parametrizat care va inițializa toate atributele clasei. În interiorul constructorului validați valoarea cărților împrumutate după regula: nu poate fi negativă și nu poate depăși limita de cărți, dacă valoarea introdusă nu este validă, se setează 0 și se afișează mesaj de avertizare. De asemenea constructorul va valida și valoare limitei de cărți conform cerinței: limita de împrumut trebuie să fie pozitivă, dacă nu atunci se va seta cu valoarea 5 și se afișează mesaj de avertizare. 

Clasa va conține ca metode:
  • gett-er pentru cartiImprumutate care returnează numărul curent de cărți împrumutate.
  • gett-er pentru limitaCarti care returnează limita maximă de cărți.
  • metoda imprumutaCarte(int nrCarti) care va crește cartiImprumutate cu nrCarti doar dacă numărul total nu depășește limitaCarti și nrCarti este pozitiv; altfel, afișează mesaj de avertizare.
  • metoda returneazaCarte(int nrCarti) care va scadea cartiImprumutate cu nrCarti doar dacă suma nu devine negativă și nrCarti este pozitiv; altfel, afișează mesaj de avertizare.
  • metoda verificaDisponibilitate() care va returna câte cărți mai poate împrumuta utilizatorul (limitaCarti - cartiImprumutate).
Creați o clasă Test în care să demonstrați:
  • Crearea unui cont cu valori valide și invalide.
  • Împrumutarea și returnarea cărților, cu verificarea mesajelor de avertizare.
  • Calculul cărților disponibile pentru împrumut.

Succes! 
❤️

Niciun comentariu:

Trimiteți un comentariu

Vă mulțumesc pentru feedback!