Sunteți pe pagina 1din 1

Crea?i clasa Persoana care sa fie caracterizata de nume (nume ?i prenume) ?i un n treg care indica nivelul cumulat al competen?

elor de?inute. O persoana poate ave a nivel de competen?a n intervalul 5..10, stabilit aleator. Crea?i interfe?ele Programeaza, Testeaza, Gestioneaza ?i Vinde. Aceste interfe?e au cte o func?ionalitate: programeaza, testeaza, gestioneaza ?i vinde. Crea?i trei tipuri de persoana: Programator care ?tie sa programeze ?i sa testeze, Manager care ?tie sa gestioneze ?i Vanzator care ?tie sa vnda. Crea?i clasa Companie care are un nume ?i con?ine angaja?i. Crea?i doua departam ente - Dezvoltare ?i Vnzari ca ?i clase interioare n Companie. Crea?i clasa Angaja t care face asocierea ntre o persoana ?i un departament ?i are un cod unic compus din numele departamentului ?i un ntreg. Cele 2 departamente implementeaza interfa?a Evalueaza (cu metoda evalueaza) astf el nct pentru o persoana primita ca parametru returneaza rezultatul evaluarii: T/F reprezentnd verdictul pentru angajare/respingere. Fiecare departament are un niv el minim de competen?e propriu de acceptare a unei persoane. O persoana care are minim nivelul cerut, este considerata acceptata, daca nu, respinsa. Clasa Companie are o facilitate care pentru o singura persoana sau un ?ir de per soane primite, pe baza competen?elor de?inute, solicita unui anumit departament verdictul de angajare/respingere. Daca o anumita persoana prime?te verdict de an gajare facilitatea creata va crea un nou angajat pe baza persoanei respective. P rogramatorii, testerii ?i managerii sunt evalua?i n departamentul Dezvoltare iar vnzatorii n Vnzari. Daca un departament prime?te alt tip de candidat dect cel stabil it spre evaluare, arunca excep?ie de tipul IncapacitateEvaluare. n clasa Companie crea?i o func?ie care pentru un anumit departament afi?eaza list a angaja?ilor, sub formatul: Nume, Cod unic. n func?ionalitatea creata folosi?i i teratorul pentru parcurgerea angaja?ilor. Crea?i un mecanism care permite afi?area numarului persoanelor create n program l a un moment dat, indiferent de competen?ele de?inute Crea?i o clasa de test ?i demonstra?i func?ionarea conceptelor ?i func?ionalita? ilor implementate.

S-ar putea să vă placă și