Documente Academic
Documente Profesional
Documente Cultură
Programare Java 2
Programare Java 2
• Pachete
• Specificatori acces
• Reutilizare cod prin compunere şi moştenire
• Utilizarea corectă a cuvântului cheie „final”
Indicaţii de lucru:
• Se vor exersa exemplele din curs ori de câte ori se va simţi nevoia, pentru înţelegerea modului
de lucru specific platformei Java
• Elementele fiecărui enunţ se vor adăuga gradual în cod
Probleme propuse:
Prb.1. Să se creeze pachetul „Proceduri” care să conţină clase Piesa, Agregat, Subsistem, Sistem,
Adaugă și TestPrb1. Exceptând TestPrb1, din fiecare constructor fără argumente se va printa un
mesaj distinct; de exemplu pentru Piesa, “piesa creata”. Clasa Adaugă conține un câmp inițializat de
tip Sistem și trei metode supraîncărcate (vezi diagrama) care vor returna o referință la obiectul curent
al clasei.
Task 1. Fără a indica specificatorii de acces la câmpuri, constructori și metode, creați în clasa
TestPrb1 din pachetul Proceduri, un sistem format din 3 piese, 2 agregate și un subsistem.
Task 2. Creați în clasa TestPrb1 în alt pachet și încercați formarea unui sistem din 3 piese, 2 agregate
și un subsistem. Ce constatați?
Task 3. Modificați clasele TestPrb1 din cele două pachete astfel încât să moștenească clasa Adaugă
și să conțină metoda oMetoda în a cărei definiţie să existe un apel la o metodă add() (vezi diagrama)
1
Prb.2. Să se creeze 2 clase: A şi B ce au constructori impliciţi. Să se creeze o clasă nouă C ce
moşteneşte A. În C să se creeze un obiect de tipul B. C nu are definit nici un constructor. În clasa
TestPrb2 să se creeze un obiect al clasei C şi să se explice rezultatele.
Prb.4. Creaţi o clasă în care să fie definite 2 date de tip primitiv, una static şi final şi cea de-a doua
doar final. Demonstraţi deosebirea dintre acestea.
Prb.5. Creaţi o clasă MyClass ce conţine o referinţa final la tipul String, neiniţializată. Constructorul
explicit primeşte o referinţă de tip String cu care se va face iniţializarea datei de tip final. Încercaţi
modificarea referinţei. Ce observaţi?