Sunteți pe pagina 1din 3

Semestrul I

Laborator 4 Programare III


săptămâna 21 - 25.10.2019

OBIECTIVE: - Folosirea modificatorilor unei clase (public, abstract, final)


- Folosirea modificatorilor de acces în declaraţiile membrilor unei clase
Noţiuni:
• constructori şi moştenire

1. Problemele nerezolvate de la laboratorul precedent.

2. Fie următoarele clase: Figură, Pătrat şi Cerc. Clasa Figura conţine metodele de
calcul al ariei şi perimetru; clasa Pătrat are atributul latura şi clasa Cerc are atributul
rază.

Sa se realizeze următoarele cerinţe:


a) Să se definească o clasă abstractă Figura
b) Să se definească clasele Pătrat şi Cerc
c) Să se creeze relaţia de moştenire dintre cele trei clase
d) Să se creeze o clasă de test în care se declară un şir (tablou) de obiecte de tip
Figura şi se calculează aria şi perimetru (la cerc, lungimea cercului!) obiectelor
din şir
e) Să se afişeze figurile de tip Cerc din şir (folosiţi instanceof)
f) Să se adauge o clasă Dreptunghi derivată din Figura şi să se implementeze
metodele de calcul ale ariei şi perimetrului
g) Să se creeze un şir cu cele 3 tipuri de figuri, iar pentru figurile de tip pătrat şi
dreptunghi să se afişeze lungimile laturilor.

3. Fie clasa Animal (abstractă) care are ca atribute numele şi vârsta animalului şi o
metodă care întoarce informaţia dacă un animal poate să meargă sau nu pe două
picioare (metoda abstracta in clasa Animal). Din clasa Animal se derivă clasele
Cangur, Lup şi Iepure.
1
1. Să se creeze un şir de obiecte de tip Animal care conţine toate cele trei tipuri
de animale.
2. Afişaţi pentru animalele din şir informaţia referitoare la faptul că pot sau nu
merge pe două picioare.
3. Număraţi câte animale care merg pe 2 picioare se află în şir.
4. Folosind instanceof număraţi câte animale de tip Lup sunt in sir.

TEMA TERMEN 8.11.2019

1. Scrieţi o clasă MijlocDeTransport (care se află în pachetul pachet1) care conţine


câmpurile: culoare, producător, anProducţie şi funcţional (de tip boolean). Pentru a
putea fi accesate din exterior scrieţi metode publice (get şi set) ce returnează,
respectiv setează valorile fiecărui câmp.

o Creaţi un alt pachet (pachet2) care conţine clasa Tren care extinde clasa
MijlocDeTransport. Clasa Tren moşteneşte toate câmpurile clasei
MijlocDeTransport şi are în plus câmpurile înălţime (static), viteză (non –
static) şi metodele care setează înălţimea pe care o are tenul, respectiv viteza
cu care merge. Clasa Tren mai conţine pe lângă constructorul implicit, un
constructor ce conţine parametrii: culoare, producător, anProducator,
funcţionalitate, înălţime, viteză. Se doreşte ca toate trenurile să aibă acelaşi
număr de vagoane (10). Pentru aceasta folosiţi o constantă nrVagoane (final).
o În pachetul2 adăugaţi clasa Troleibuz care moşteneşte clasa
MijlocDeTransport care are în plus atributele şofer şi capacitate de persoane
care poate fi transportata (atribute private).
o Tot în pachetul pachet3, adăugaţi clasa Transport, în care instanţiaţi clasa
MijlocDeTransport şi observaţi ce câmpuri sunt vizibile.
o Analog procedaţi în clasa Tren. Tot aici, în metoda main(), creaţi două
obiecte de tip Tren (a1 şi a2), folosind constructorul neimplicit. Se afişează
înălţimile celor două trenuri (a1 şi a2). Ele au aceiaşi înălţime. De ce? Setăm
alta valoare pentru înălţimea trenului a2. Afişăm iar înălţimile trenurilor. Cele
doua trenuri au noua înălţime. De ce ?
o Analog procedaţi cu viteza trenului. Încercaţi să scrieţi o metodă care setează
o valoare pentru câmpului nrVagoane.
o Folosiţi metoda toString(), pentru a converti obiectul de tip Tren într-un
string de forma: „ Tren - culoare – producător” .

Cerinţe:

a. Realizaţi un şir de obiecte de tip MijloaceDeTransport care conţine atât


MijloaceDeTransport cât şi Trenuri şi Troleibuze. Afişaţi şirul.
b. Număraţi câte trenuri şi câte trolebuze din şirul de mijloace de transport sunt
funcţionale
c. Găsiţi şi afişaţi informaţiile corespunzătoare trolebuzelor cu cea mai mare
capacitate din şir
d. Numărați câte obiecte de fiecare tip (tren, trolebuz,...) se găsesc in șirul
definit la punctul a
2
2. Se cere să se realizeze o aplicație care gestionează produsele unei firme ce
comercializează echipamente electronice. Fiecare echipament este înregistrat cu un
număr de inventar nr_inv, are un preţ pret şi este plasat într-o anumită zonă din magazie
zona_mag. Orice echipament poate fi într-una din situaţiile:
— achiziţionat (intrat în magazie);
— expus (expus în magazin);
— vândut (transportat şi instalat la client).
Firma comercializează mai multe tipuri de echipamente. Toate echipamentele care
folosesc hârtia drept consumabil sunt caracterizate de numărul de pagini scrise pe minut
ppm. Imprimantele sunt caracterizate de rezoluţie (număr de puncte per inch dpi) şi
număr de pagini/cartuş p_car. Unei imprimante i se poate seta modul de scriere:
— tipărireColor (selectare a modului color de tipărire);
— tipărireAlbNegru (selectare a modului alb-negru de tipărire).
Copiatoarele sunt caracterizate de numărul de pagini/toner p_ton. Se poate seta formatul
de copiere:
— setFormatA4 (setare a formatului A4);
— setFormatA3 (setare a formatului A3).
Sistemele de calcul au un monitor de un anumit tip tip_mon, un procesor de o anumită
viteză vit_proc, o capacitate a HDD c_hdd şi li se poate instala:
— instalWin (instalarea unei variante de Windows);
— instalLinux (instalarea unei variante de Linux).
Metodele specificate mai sus vor afişa textul din paranteză. De asemenea, fiecare metodă
va afişa numărul de inventar al echipamentului. Se cere să se realizeze ierarhia de clase
corespunzătoare modelului prezentat, să se “creeze” câteva echipamente şi să se aplice
operaţiile posibile asupra lor.
În momentul în care un client cumpără un echipament de la respectiva firmă, trebuie
verificată buna funcţionare a echipamentului, prin apelul unei metode numită
Functionare(TipEchipament e) unde e poate fi un echipament care foloseşte hârtia sau un
sistem de calcul.
Se cere ca firma să vândă diferite tipuri de echipamente, efectuând pentru fiecare
verificarea funcţionării astfel:
— imprimantă: tipărirea unei pagini color şi a unei pagini alb-negru
— copiator: setare format A4
— sistem de calcul: instalare Windows

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