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:57] Adriana Draghici [Exerciții] |
laboratoare:agregare-mostenire [2019/10/13 22:03] Adriana Draghici |
||
---|---|---|---|
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 |