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:java-basics [2019/09/28 14:00] Adriana Draghici [Resurse] |
laboratoare:java-basics [2019/09/29 15:12] Adriana Draghici [Resurse și linkuri utile] |
||
---|---|---|---|
Line 18: | Line 18: | ||
Înainte de a începe orice implementare, trebuie să vă gandiți cum grupați logica întregului program pe unități. Elementele care se regăsesc în același grup trebuie să fie **conectate în mod logic**, pentru o ușoară implementare și înțelegere ulterioară a codului. În cazul Java, aceste grupuri logice se numesc **pachete** și se reflectă pe disc conform ierarhiei din cadrul proiectului. Pachetele pot conține atât alte pachete, cât și fișiere sursă. | Înainte de a începe orice implementare, trebuie să vă gandiți cum grupați logica întregului program pe unități. Elementele care se regăsesc în același grup trebuie să fie **conectate în mod logic**, pentru o ușoară implementare și înțelegere ulterioară a codului. În cazul Java, aceste grupuri logice se numesc **pachete** și se reflectă pe disc conform ierarhiei din cadrul proiectului. Pachetele pot conține atât alte pachete, cât și fișiere sursă. | ||
- | {{laboratoare:java-basics:package.jpg| Organizarea pachetelor in Java}} | + | {{laboratoare:java-basics:lab-java-basics-packages.png| Organizarea pachetelor in Java}} |
Următorul pas este delimitarea entităților din cadrul unui grup, pe baza unor trăsături individuale. În cazul nostru, aceste entități vor fi clasele. Pentru a crea o clasă, trebuie mai întâi să creăm un fișier aparținând proiectului nostru și unui pachet (dacă este cazul și proiectul este prea simplu pentru a-l împărți în pachete). În cadrul acestui fișier definim una sau mai multe clase, conform urmatoarelor reguli: | Următorul pas este delimitarea entităților din cadrul unui grup, pe baza unor trăsături individuale. În cazul nostru, aceste entități vor fi clasele. Pentru a crea o clasă, trebuie mai întâi să creăm un fișier aparținând proiectului nostru și unui pachet (dacă este cazul și proiectul este prea simplu pentru a-l împărți în pachete). În cadrul acestui fișier definim una sau mai multe clase, conform urmatoarelor reguli: | ||
Line 343: | Line 343: | ||
- Creați două obiecte //Student// cu aceleași date în ele. Afișați rezultatul folosirii //equals()// între ele. Discutați cu asistentul despre ce observați și pentru a vă explica mai multe despre această metodă. | - Creați două obiecte //Student// cu aceleași date în ele. Afișați rezultatul folosirii //equals()// între ele. Discutați cu asistentul despre ce observați și pentru a vă explica mai multe despre această metodă. | ||
- | - Afișați un obiect de tip //Course//. Ce observați? | + | * [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)|documentație]] |
/* moved to lab 2 | /* moved to lab 2 | ||
** Task 4** (1p) | ** Task 4** (1p) | ||
+ | - Afișați un obiect de tip //Course//. Ce observați? | ||
- Implementați în clasa //Course// metoda //toString()// care întoarce un String compus din: | - Implementați în clasa //Course// metoda //toString()// care întoarce un String compus din: | ||
* titlul cu uppercase (folosiți una din metodele clasei [[https://docs.oracle.com/javase/9/docs/api/java/lang/String.html|String]]) | * titlul cu uppercase (folosiți una din metodele clasei [[https://docs.oracle.com/javase/9/docs/api/java/lang/String.html|String]]) | ||
Line 360: | Line 361: | ||
- Ce ați făcut acum se numește //încapsulare (encapsulation)// și este unul din principiile de bază din programarea orientată pe obiecte. Prin această restricționare protejați accesarea și modificarea variabilelor. | - Ce ați făcut acum se numește //încapsulare (encapsulation)// și este unul din principiile de bază din programarea orientată pe obiecte. Prin această restricționare protejați accesarea și modificarea variabilelor. | ||
* //Hint//: pentru a vă eficientiza timpul, folosiți IDE-ul pentru a generarea aceste metode | * //Hint//: pentru a vă eficientiza timpul, folosiți IDE-ul pentru a generarea aceste metode | ||
- | == Resurse == | + | == Resurse și linkuri utile== |
* {{|Soluție}} (disponibilă din 14.10.2019) | * {{|Soluție}} (disponibilă din 14.10.2019) | ||
+ | * [[laboratoare:old-exercises|Exerciții din alți ani]] | ||
+ | * [[laboratoare:poo-java|POO și Java]] | ||
+ | * [[laboratoare:organizare-acces|Organizarea surselor și modificatori de acces]] | ||
/* Nu mai merge: | /* Nu mai merge: |