-
Notifications
You must be signed in to change notification settings - Fork 2
Exerciții POO
-
Creați o clasă BankAccount care primește la inițializare doi parametri: unul este numele băncii, iar celălalt este o sumă de bani. Creați apoi pe acestă clasă două metode, una care depunde bani în cont si alta care extrage. Fiecare dintre ele primește ca parametru o sumă de bani ce va fi depusă/extrasă. Metoda care extrage o sumă de bani nu va permite ajungerea la un sold negativ și va afișa un mesaj de genul "Fonduri insuficiente!".
-
Creați o clasă Person care primește la inițializare trei parametri: numele persoanei, un cont bancar( instanță a lui BankAccount) și salariul cu valoarea implicită 0. Pentru că salariul este confidențial, atributul
salary
ar trebui să fie privat. Definiți o proprietate care permite setarea salariului, iar la interogare (obj.salary
) întoarce "Confidential!". Creați apoi o metodăreceive_salary()
care la apel va depune în contul bancar al persoanei salariul pe care aceasta îl are. -
a) Scrieți o clasă Student care primește la inițializare nume și vârstă.
b) În afara clasei, scrieți o funcție
student_factory
care primește o listă de tupluri. Fiecare tuplu este o pereche de forma (nume, vârstă). Funcția întoarce o listă de obiecte de tip Student inițializate cu valorile primite.c) Scrieți o altă funcție care primește o listă de obiecte Student și întoarce vârstele studenților al căror nume se termină în 'escu', sortate crescător.
-
Creați clasa SpecialBankAccount derivată din BankAccount care permite ajungerea la un sold negativ (descoperire de cont). Aceasta va avea un atribut
overdraft
care specifică suma maximă care se poate retrage în plus față de debitul contului. Metoda de extragere va afișa un mesaj de genul "Creditul maxim a fost atins." dacă se încearcă extragerea unei sume mai mari. Pentru a testa funcția implementată, creați o nouă metodămake_shopping()
pe clasa Person prin intermediul căreia o persoane poate face cumpărături de o anumită sumă de bani. -
Creați o clasa Zar care întoarce un număr random între 1 și 6 la apelarea metodei
roll
. Creați o altă clasă ZarNecinstit care întoarce întotdeauna ceva între 1 și 6 care nu e random, ci fix, la apelarea metodeiroll
. Creați o listă de 5 zaruri atât corecte și incorecte și iterați pe ele apelând metodaroll
. -
Creați o clasă Masa care primește la inițializare parametrul de tip string meniu. Adaugati o metoda
menu_price
ce va returna: '12 Lei' daca meniul ales este 'meniu 1' '17 Lei' daca meniul ales este 'meniu 2' 'Nu exista acest meniu' pentru orice alta varianta. -
Creați o clasă Vehicul care primește la inițializare parametrii numar_pasageri,capacitate_rezervor si cantitate_combustibil.Implementati o metoda
use_gas
, ce primeste parametrul kilometrii_parcursi care va modifica valoarea atributului cantitate_combustibil dupa urmatoarea formula: cantitate_combustibil = cantitate_combustil - (kilometrii_parcursi * numar_pasageri)/100 Implementati o metodaload_gas
, ce primeste parametrul cantitate ce va modifica valoarea atributului cantitate_combustibil. Atentie! Valoarea atributului cantitate_combustibil nu trebuie sa depaseasca valoarea atributului capacitate_rezervor.