This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
laboratoare:agregare-mostenire [2019/10/13 21:56] Adriana Draghici [Exerciții] |
laboratoare:agregare-mostenire [2019/10/13 23:54] Florin Mihalache [Exerciții] |
||
---|---|---|---|
Line 47: | Line 47: | ||
class Book { | class Book { | ||
- | private String title; // Compoziţie | + | private String title; // Compunere |
- | private Page[] pages; // Compoziţie | + | private Page[] pages; // Compunere |
private LibraryRow libraryRow = null; // Agregare | private LibraryRow libraryRow = null; // Agregare | ||
Line 511: | Line 511: | ||
| | ||
==Summary== | ==Summary== | ||
- | Relatii intre obiecte: | + | **Relații între obiecte:** |
* Agregare - **has a** | * Agregare - **has a** | ||
- | * Mostenire - **is a** | + | * Moștenire - **is a** |
**Upcasting** | **Upcasting** | ||
* convertire **copil** => **parinte** | * convertire **copil** => **parinte** | ||
- | * realizata automat | + | * realizată automat |
**Downcasting** | **Downcasting** | ||
* convertire **parinte** =>**copil** | * convertire **parinte** =>**copil** | ||
- | * trebuie facuta explicit de catre programator | + | * trebuie facută explicit de către programator |
- | * incercati sa evitati folosirea operatorului **instanceof** | + | * încercați să evitați folosirea operatorului **instanceof** |
**Suprascrierea** | **Suprascrierea** | ||
- | * inlocuirea functionalitatii metodei din parinte in copil | + | * înlocuirea functionalitații metodei din clasa de bază în clasa derivată |
- | * pastreaza numele si semnatura metodei; | + | * pastreaza numele și semnatura metodei |
**Supraincarcarea** | **Supraincarcarea** | ||
- | * in interiorul clasei pot exista mai multe metode cu acelasi nume, cu conditia ca semnatura (tipul, argumentele) sa fie diferita | + | * în interiorul clasei pot exista mai multe metode cu acelasi nume, cu condiția ca semnătura (tipul, argumentele) să fie diferită |
**super** | **super** | ||
- | * instanta clasei parinte | + | * instanța clasei parinte |
- | * amintiti-va ca **[[.lab2|this]]** se refera la instanta clasei curente | + | * amintiți-vă din laboratorul anterior că **[[[[laboratoare:constructori-referinte|this]]** se referă la instanța clasei curente |
==Exerciții== | ==Exerciții== | ||
- | <note important>Exercițiile 1-6 se rezolvă în ordine.</note> | + | Gigel vrea să-i faca mamei sale un cadou de ziua ei și știe că-i plac foarte mult bomboanele. El are nevoie de ajutorul vostru pentru a construi cel mai frumos și gustos cadou: |
- | + | ||
- | Gigel vrea sa-i faca mamei sale un cadou de ziua ei si stie ca-i plac foarte mult bomboanele. El are nevoie de ajutorul vostru pentru ca construi cel mai frumos si gustos cadou: | + | |
| | ||
**Task 1** [2p] | **Task 1** [2p] | ||
Line 546: | Line 545: | ||
* un constructor fără parametri | * un constructor fără parametri | ||
* un constructor ce va inițializa toate campurile | * un constructor ce va inițializa toate campurile | ||
- | * o metoda ''getVolume()'', care va intoarce valoarea 0; | + | * o metoda de tip float ''getVolume()'', care va intoarce valoarea 0; |
* Întrucât clasa ''Object'' se află în rădăcina arborelui de moștenire pentru orice clasă, orice instanta va avea acces la o serie de facilități oferite de Object. Una dintre ele este metoda ''toString()'', al cărei scop este de a oferi o reprezentare unei instanțe sub forma unui șir de caractere, utilizata in momentul apelului System.out.println(). Adaugati o metoda ''toString()'', care va returna flavor-ul si regiunea de proveniență a cutiei de bomboane. | * Întrucât clasa ''Object'' se află în rădăcina arborelui de moștenire pentru orice clasă, orice instanta va avea acces la o serie de facilități oferite de Object. Una dintre ele este metoda ''toString()'', al cărei scop este de a oferi o reprezentare unei instanțe sub forma unui șir de caractere, utilizata in momentul apelului System.out.println(). Adaugati o metoda ''toString()'', care va returna flavor-ul si regiunea de proveniență a cutiei de bomboane. | ||