Diferență între revizuiri ale paginii „POO Lab Lucrarea 2”
De la WikiLabs
Jump to navigationJump to searchLinia 11: | Linia 11: | ||
== Cerințe == | == Cerințe == | ||
− | * Adăugați clasei '''Message''' doi constructori accesibili tuturor claselor, unul care să aibă argumente pentru toate cele trei câmpuri ('''receiver''', '''sender''' și '''content'''), iar unul care să aibă argumente doar pentru expeditor și conținut, destinatarul păstrând valoarea implicită '''null''' | + | * Adăugați clasei '''Message''' doi constructori accesibili tuturor claselor, unul care să aibă argumente pentru toate cele trei câmpuri ('''receiver''', '''sender''' și '''content'''), iar unul care să aibă argumente doar pentru expeditor și conținut, destinatarul păstrând valoarea implicită '''null'''; |
* Adăugați modificatori de access membrilor clasei astfel încât: | * Adăugați modificatori de access membrilor clasei astfel încât: | ||
** cele 3 câmpuri să fie accesibile doar clasei; încapsulați câmpurile adăugând metode ''getters'' accesibile tuturor claselor; | ** cele 3 câmpuri să fie accesibile doar clasei; încapsulați câmpurile adăugând metode ''getters'' accesibile tuturor claselor; | ||
** metoda '''print()''' să fie accesibilă tuturor claselor. | ** metoda '''print()''' să fie accesibilă tuturor claselor. | ||
− | * Suprascrieți metoda '''toString()''' definită în clasa '''java.lang.Object''' astfel încât să întoarcă un șir de caractere formatat în genul mesajelor din programele de chat: ''<expeditor>: <conținut>'' | + | * Suprascrieți metoda '''toString()''' definită în clasa '''java.lang.Object''' astfel încât să întoarcă un șir de caractere formatat în genul mesajelor din programele de chat: ''<expeditor>: <conținut>''; |
− | * Scrieți o clasă '''SystemMessage''' care să extindă clasa '''Message'''. '''SystemMessage''' trebuie să conțină în plus un câmp de tip ''int'' numit '''type''', accesibil doar clasei, și o metodă ''getter'' accesibilă tuturor claselor | + | * Scrieți o clasă '''SystemMessage''', care să extindă clasa '''Message'''. '''SystemMessage''' trebuie să conțină în plus un câmp de tip ''int'' numit '''type''', accesibil doar clasei, și o metodă ''getter'' pentru acest câmp, accesibilă tuturor claselor; |
− | * Adăugați clasei '''SystemMessage''' 2 constructori accesibili tuturor claselor, unul care să ia ca argument doar o valoare pentru inițializarea câmpului "type", și al doilea două valori pentru inițializarea câmpurilor '''type''' și '''sender''' | + | * Adăugați clasei '''SystemMessage''' 2 constructori accesibili tuturor claselor, unul care să ia ca argument doar o valoare pentru inițializarea câmpului "type", și al doilea două valori, pentru inițializarea câmpurilor '''type''' și '''sender'''; |
− | * Adăugați clasei '''SystemMessage''' 3 constante de clasă, de tip int, cu valorile 0, 1 și 2, care au numele TYPE_ERROR, TYPE_OK, | + | * Adăugați clasei '''SystemMessage''' 3 constante de clasă, de tip '''int''', cu valorile 0, 1 și 2, care au numele ''TYPE_ERROR'', ''TYPE_OK'', și ''TYPE_CHANGE_NAME''; |
− | * Suprascrieți metoda '''toString()''' definită în clasa '''Message''' astfel încât să nu afișeze decât câmpul '''type''' | + | * Suprascrieți metoda '''toString()''' definită în clasa '''Message''' astfel încât să nu afișeze decât câmpul '''type'''; |
− | * Modificați instanțierile din metoda '''main''' din clasa '''TestClass''' astfel încât să folosească apelul | + | * Modificați instanțierile din metoda '''main''' din clasa '''TestClass''' astfel încât să folosească apelul noilor constructori și adăugați încă 3 instanțieri de obiecte de tip '''SystemMessage''' pe care să le afișați în consolă folosindu-vă de metoda '''toString()'''. |
Versiunea de la data 28 august 2012 10:27
Noțiuni și cunoștințe necesare
- Paradigma Obiect-Orientare; Clase și obiecte
- Noțiuni despre Java
- Realizarea și execuția unui program Java
- Sintaxa limbajului Java; Structura lexicală a unui program
- Convenții de programare
- Noțiuni avansate de programare obiect-orientată
- Java Application Programming Interface (API)
Cerințe
- Adăugați clasei Message doi constructori accesibili tuturor claselor, unul care să aibă argumente pentru toate cele trei câmpuri (receiver, sender și content), iar unul care să aibă argumente doar pentru expeditor și conținut, destinatarul păstrând valoarea implicită null;
- Adăugați modificatori de access membrilor clasei astfel încât:
- cele 3 câmpuri să fie accesibile doar clasei; încapsulați câmpurile adăugând metode getters accesibile tuturor claselor;
- metoda print() să fie accesibilă tuturor claselor.
- Suprascrieți metoda toString() definită în clasa java.lang.Object astfel încât să întoarcă un șir de caractere formatat în genul mesajelor din programele de chat: <expeditor>: <conținut>;
- Scrieți o clasă SystemMessage, care să extindă clasa Message. SystemMessage trebuie să conțină în plus un câmp de tip int numit type, accesibil doar clasei, și o metodă getter pentru acest câmp, accesibilă tuturor claselor;
- Adăugați clasei SystemMessage 2 constructori accesibili tuturor claselor, unul care să ia ca argument doar o valoare pentru inițializarea câmpului "type", și al doilea două valori, pentru inițializarea câmpurilor type și sender;
- Adăugați clasei SystemMessage 3 constante de clasă, de tip int, cu valorile 0, 1 și 2, care au numele TYPE_ERROR, TYPE_OK, și TYPE_CHANGE_NAME;
- Suprascrieți metoda toString() definită în clasa Message astfel încât să nu afișeze decât câmpul type;
- Modificați instanțierile din metoda main din clasa TestClass astfel încât să folosească apelul noilor constructori și adăugați încă 3 instanțieri de obiecte de tip SystemMessage pe care să le afișați în consolă folosindu-vă de metoda toString().