Sunteți pe pagina 1din 1

Crea i clasa Shape caracterizat de un atribut colour de tip Colours unde Colours est

e o enumerare de culori. Asigura i-v c nu se poate instan ia din aceast clas.


Crea i clasele Rectangle i Circle ca tipuri specifice de Shape. Clasa Shape mai de in
e metoda getArea care suprascris n clasele Rectangle i Circle permite calcularea ar
iei unui dreptunghi, respectiv a unui cerc. Clasa Rectangle este caracterizat de
dimensiunile length i width iar clasa Circle este caracterizat de dimensiunea radi
us. Dac utilizatorul dorete, poate instan ia dreptunghiuri i cercuri cu dimensiuni eg
ale cu 0 (zero).
Clasa Rectangle implementeaz interfa a Perimeter care prin metoda calculatePerimete
r returneaz perimetrul unui dreptunghi.
Crea i clasa Set care agreg Shape. Crea i un set aleator de 100 de figuri geometrice
de tipurile Rectangle i Circle. Dimensiunile dreptunghiurilor i a cercurilor au va
lori aleatoare cuprinse ntre 0-10 cm. Un dreptunghi creat va avea culoarea rou iar
un cerc creat va avea culoarea albastru.
Pentru clasa Set implementa i un iterator. Folosind iteratorul creat, afia i ntr-o fun
c ie static toate cercurile i ptratele dintr-un set. Dac n acest proces este depistat
figur geometric a crei arie este 0 (zero) se arunc excep ia FiguraCuArieZero.
Testa i toate clasele i func ionalit ile create ntr-o clas separat Test.

Crea i interfa a Transportabil i dou clase Persoana i Colet care o implementeaz. Persoa
a este caracterizat de nume i prenume iar Colet de greutate. Crea i interfa a Transpor
tor, i dou clase Autocar i Tir, care o implementeaz. Aceste dou clase con in entit i
portabile, astfel:
Autocar poate mbarca persoane i ncrca colete - cu greutatea mai mic de 100kg.
Tir poate ncrca doar colete, acestea mai grele de 100kg.
Mijloacele de transport, n situa ia n care primesc spre mbarcare/ncrcare altceva dect
e din entitatile stabilite, arunc excep ie de tipul TransportabilNeacceptat.
Crea i clasa Autogara care con ine o list de obiecte transportabile si clasa Autogara
Factory. Scrie i func ia incarca; aceasta este capabil pe baza clasei factory primite
, s ncarce n mijlocul de transport creat (autocar sau tir) toate obiectele transpor
tabile corespunztoare (din list).
Autogara va con ine si o func ie care dup ncrcarea unui mijloc de transport afieaz pe
an obiectele transportabile ncrcate. Crea i un mecanism care s permit afiarea numrulu
e mijloace de transport (transportori) create n program. Crea i o clas n care s testa i
toate conceptele i func ionalit ile create.