User Tools

Site Tools


Problem constructing authldap
laboratoare:agregare-mostenire
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
laboratoare:agregare-mostenire [2019/10/14 00:00]
Delia Stuparu [Implicații ale moștenirii]
laboratoare:agregare-mostenire [2019/10/14 23:11]
Andrei Vasiliu [Suprascrierea corecta a metodei equals(Object o)]
Line 388: Line 388:
 Int c = new Int(10); Int c = new Int(10);
  
-a.print(); // afișează Car +a.equals(a); // afișează Car 
-b.print(); // afișează Car deoarece se face upcasting de la Dacia la Car +a.equals(b); // afișează Car deoarece se face upcasting de la Dacia la Car 
-c.print(); // afișează Object deoarece se face upcasting de la Int la Object+a.equals(c); // afișează Object deoarece se face upcasting de la Int la Object
 </​code>​ </​code>​
  
Line 544: Line 544:
 **Task 2** [2p] **Task 2** [2p]
  
-Din ea derivați clasele ''​Lindt'',​ ''​Chococo'',​ ''​Baravelli'',​ ''​ChocAmor''​. Pentru un design interesant, cutiile vor avea forme diferite:+Din ea derivați clasele ''​Lindt'',​ ''​Baravelli'',​ ''​ChocAmor''​. Pentru un design interesant, cutiile vor avea forme diferite:
   * //Lindt// va contine ''​length'',​ ''​width'',​ ''​height''​ (float);   * //Lindt// va contine ''​length'',​ ''​width'',​ ''​height''​ (float);
-  * //Chococo// va avea forma unui cilindru cu baza triunghilara,​ cu campurile ''​baseHeight'',​ ''​height''​ si ''​base''​ (float) 
   * //​Baravelli//​ va fi un cilindru. Acesta va conține un camp ''​radius''​ și unul ''​height''​ (float);   * //​Baravelli//​ va fi un cilindru. Acesta va conține un camp ''​radius''​ și unul ''​height''​ (float);
   * //​ChocAmor//,​ fiind un cub, va conține un camp ''​length''​ (float);   * //​ChocAmor//,​ fiind un cub, va conține un camp ''​length''​ (float);
Line 559: Line 558:
    
  
-Adăugați o metodă ''​equals()''​ în clasa ''​CandyBar''​. Justificați criteriul de echivalentă ales. Vedeți metodele clasei [[https://​docs.oracle.com/​en/​java/​javase/​12/​docs/​api/​java.base/​java/​lang/​Object.html | Object]], moștenită de toate clasele - Object are metoda equals, a cărei implementare verifică echivalența obiectelor comparând referințele.+Adăugați o metodă ''​equals()''​ în clasa ''​CandyBox''​. Justificați criteriul de echivalentă ales. Vedeți metodele clasei [[https://​docs.oracle.com/​en/​java/​javase/​12/​docs/​api/​java.base/​java/​lang/​Object.html | Object]], moștenită de toate clasele - Object are metoda equals, a cărei implementare verifică echivalența obiectelor comparând referințele.
 <note important>​**Hint:​** <note important>​**Hint:​**
 Puteti genera automat metoda, cu ajutorul IDE. Selectați câmpurile considerate și Puteti genera automat metoda, cu ajutorul IDE. Selectați câmpurile considerate și
Line 566: Line 565:
 **Task 4** - //''​Upcasting''//​ [2p] **Task 4** - //''​Upcasting''//​ [2p]
  
-Acum că am stabilit tipul cutiilor de bomboane, putem construi cadoul, ramanand la latitudinea vostra care va fi designul lui. In pachetul java.util se gaseste clasa ''​ArrayList'',​ care definește un resizable array, cu metodele specifice (add, size, get, lista lor completa este in [[https://​docs.oracle.com/​en/​java/​javase/​12/​docs/​api/​java.base/​java/​util/​ArrayList.html|documentatie]]). Creati o clasă ''​CandyBag'',​ care va conține un ArrayList cu mai multe cutii din fiecare tip. Creați obiecte de tip Chococo ​si testați egalitatea lor;+Acum că am stabilit tipul cutiilor de bomboane, putem construi cadoul, ramanand la latitudinea vostra care va fi designul lui. In pachetul java.util se gaseste clasa ''​ArrayList'',​ care definește un resizable array, cu metodele specifice (add, size, get, lista lor completa este in [[https://​docs.oracle.com/​en/​java/​javase/​12/​docs/​api/​java.base/​java/​util/​ArrayList.html|documentatie]]). Creati o clasă ''​CandyBag'',​ care va conține un ArrayList cu mai multe cutii din fiecare tip. Creați obiecte de tip Lindt si testați egalitatea lor;
  
  
 **Task 5** - //''​Downcasting''//​ [1p] **Task 5** - //''​Downcasting''//​ [1p]
  
-Adaugati clasei ''​Baravelli'',​ functia ''​printBaravelliDim()'',​ care va afișa dimensiunile razei și inaltimii. În mod analog, procedati cu celelalte tipuri de cutii, adaugand metodele ​''​printChococoDim()'', ​''​printChocAmorDim()''​ si ''​printLindtDim()'',​ în care să afișați dimensiunile fiecarei cutii.+Adaugati clasei ''​Baravelli'',​ functia ''​printBaravelliDim()'',​ care va afișa dimensiunile razei și inaltimii. În mod analog, procedati cu celelalte tipuri de cutii, adaugand metodele ''​printChocAmorDim()''​ si ''​printLindtDim()'',​ în care să afișați dimensiunile fiecarei cutii.
  
 **Task 6** - //''​Agregare''//​ [2p] **Task 6** - //''​Agregare''//​ [2p]
laboratoare/agregare-mostenire.txt · Last modified: 2019/10/30 01:02 by Florin Mihalache