User Tools

Site Tools


Problem constructing authldap
laboratoare:constructori-referinte
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
laboratoare:constructori-referinte [2019/09/29 13:40]
Florin Mihalache [Exerciții]
laboratoare:constructori-referinte [2020/01/14 14:00] (current)
Adriana Draghici bold
Line 8: Line 8:
 * tipurile de contructori și crearea de instanţe ale claselor folosind acești constructori * tipurile de contructori și crearea de instanţe ale claselor folosind acești constructori
 * utilizarea cuvântului-cheie **this** * utilizarea cuvântului-cheie **this**
-* însușirea noțiunii de obiect **imutabil** 
  
 == Constructori == == Constructori ==
Line 157: Line 156:
 </​code>​ </​code>​
  
-În Java, există conceptul de copy constructor,​ acesta reprezintând un constructor care ia ca parametru un obiect de același tip cu clasa în care se află constructorul respectiv. Cu ajutorul acestui constructor,​ putem să copiem obiecte, prin copierea membru cu membru în constructor.+În Java, există conceptul de **copy constructor**, acesta reprezintând un constructor care ia ca parametru un obiect de același tip cu clasa în care se află constructorul respectiv. Cu ajutorul acestui constructor,​ putem să copiem obiecte, prin copierea membru cu membru în constructor.
  
 <code java5> <code java5>
Line 339: Line 338:
 **Task 1** - 3 puncte **Task 1** - 3 puncte
  
-Să se creeze o clasă numită Complex, care are doi membri de tip int (real și imaginary), care vor fi de tip private. Realizați următoarele subpuncte:​ +Să se creeze o clasă numită ​//Complex//, care are doi membri de tip int (real și imaginary), care vor fi de tip private. Realizați următoarele subpuncte:​ 
-    * să se creeze trei constructori:​ primul primește doi parametri de tip int (primul desemnează partea reală a unui număr complex, al doilea partea imaginară), ​ al doilea nu primește niciun parametru și apelează primul constructor cu valorile 0 și 0, iar al treilea reprezinta un copy constructor,​ care primește ca parametru un obiect de tip Complex, care este copiat în obiectul this+    * să se creeze trei constructori:​ primul primește doi parametri de tip int (primul desemnează partea reală a unui număr complex, al doilea partea imaginară), ​ al doilea nu primește niciun parametru și apelează primul constructor cu valorile 0 și 0, iar al treilea reprezinta un copy constructor,​ care primește ca parametru un obiect de tip Complex, care este copiat în obiectul ​//this//
     * să se scrie metode de tip getter și setter (remember primul laborator - proprietăți),​ prin care putem accesa membrii privați ai clasei     * să se scrie metode de tip getter și setter (remember primul laborator - proprietăți),​ prin care putem accesa membrii privați ai clasei
-    * să se scrie o metodă de tip void numită addWithComplex,​ care primește ca parametru un obiect de tip Complex, prin care se adună numărul complex dat ca parametru la numărul care apelează funcția (adică la this) +    * să se scrie o metodă de tip void numită ​''​addWithComplex''​, care primește ca parametru un obiect de tip Complex, prin care se adună numărul complex dat ca parametru la numărul care apelează funcția (adică la //this//
-    * să se scrie o metodă de tip void numita showNumber, prin care se afișează numărul complex+    * să se scrie o metodă de tip void numita ​''​showNumber''​, prin care se afișează numărul complex
  
 **Task 2** - 2 puncte **Task 2** - 2 puncte
Line 352: Line 351:
 ** Task 3** - 3 puncte ** Task 3** - 3 puncte
  
-Să se implementeze o clasă Point care să conțină:+Să se implementeze o clasă// Point// care să conțină:
 * un constructor care să primească cele două numere reale (de tip float) ce reprezintă coordonatele. * un constructor care să primească cele două numere reale (de tip float) ce reprezintă coordonatele.
-* o metodă changeCoords ce primește două numere reale și modifică cele două coordonate ale punctului.+* o metodă ​''​changeCoords'' ​ce primește două numere reale și modifică cele două coordonate ale punctului.
 * o funcție de afișare a unui punct astfel: (x, y). * o funcție de afișare a unui punct astfel: (x, y).
  
-Să se implementeze o clasă Polygon cu următoarele:​+Să se implementeze o clasă ​//Polygon// cu următoarele:​
 * un constructor care preia ca parametru un singur număr n (reprezentând numărul de colțuri al poligonului) și alocă spațiu pentru puncte (un punct reprezentând o instanță a clasei Point). * un constructor care preia ca parametru un singur număr n (reprezentând numărul de colțuri al poligonului) și alocă spațiu pentru puncte (un punct reprezentând o instanță a clasei Point).
 * un constructor care preia ca parametru un vector, cu 2n numere reale reprezentând colțurile. Acest constructor apelează constructorul de la punctul de mai sus și completează vectorul de puncte cu cele n instanțe ale clasei Point obținute din parametrii primiți. * un constructor care preia ca parametru un vector, cu 2n numere reale reprezentând colțurile. Acest constructor apelează constructorul de la punctul de mai sus și completează vectorul de puncte cu cele n instanțe ale clasei Point obținute din parametrii primiți.
Line 364: Line 363:
 ** Task 4** - 2 puncte ** Task 4** - 2 puncte
  
-În scheletul de cod aveți definită clasa Book, în care trebuie să implementați metoda toString(), și o clasă Main, în care se testează metoda toString() din Book.+În scheletul de cod aveți definită clasa //Book//, în care trebuie să implementați metoda ​[[https://​docs.oracle.com/​en/​java/​javase/​12/​docs/​api/​java.base/​java/​lang/​Object.html#​toString()|toString()]], și o clasă ​//Main//, în care se testează metoda toString() din Book.
 == Resurse == == Resurse ==
  
 * {{:​laboratoare:​constructori-referinte:​lab2-2019-schelet.zip|Schelet}} * {{:​laboratoare:​constructori-referinte:​lab2-2019-schelet.zip|Schelet}}
 +* {{:​laboratoare:​constructori-referinte:​lab2-2019-sol.zip|Solutie}}
 * <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF laborator</​a></​html>​ * <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF laborator</​a></​html>​
 == Referințe == == Referințe ==
laboratoare/constructori-referinte.1569753640.txt.gz · Last modified: 2019/09/29 13:40 by Florin Mihalache