Differences

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

Link to this comparison view

poo-ca-cd:laboratoare:design-avansat-de-clase [2025/10/21 22:25]
florian_luis.micu [Rezumat al memoriei în Java]
poo-ca-cd:laboratoare:design-avansat-de-clase [2025/10/25 19:50] (current)
florian_luis.micu [Laboratorul 3: Design Avansat de Clase]
Line 3: Line 3:
   * Autori: [[stefancocioran@gmail.com | Ștefan Cocioran ]], [[miculuis1@gmail.com | Florian-Luis Micu ]], [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]]   * Autori: [[stefancocioran@gmail.com | Ștefan Cocioran ]], [[miculuis1@gmail.com | Florian-Luis Micu ]], [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]]
   * Data publicării:​ 20.10.2025   * Data publicării:​ 20.10.2025
-  * Data ultimei modificări: ​20.10.2025+  * Data ultimei modificări: ​25.10.2025 
 +    * clarificări pentru gestionarea memoriei statice și VTables.  
 +    * schimbat tipul de return în Lazy Evaluation. 
 +    * clarificări pentru specificatorii de acces în contextul moștenirii.
  
 =====Obiective===== =====Obiective=====
Line 72: Line 75:
    ​private Engine engine;    ​private Engine engine;
        
-   ​public ​void initializeEngine() {+   ​public ​Engine ​initializeEngine() {
       if (engine == null) {       if (engine == null) {
          ​engine = new Engine();          ​engine = new Engine();
Line 286: Line 289:
 ===Blocarea accesului la membrii folosind specificatori de acces=== ===Blocarea accesului la membrii folosind specificatori de acces===
  
-Reamintim **specificatorii de acces** prezentați în laboratorul trecut în contextul ​**moștenirii membrilor**:​ +Reamintim **specificatorii de acces** prezentați în laboratorul trecut ​**în contextul moștenirii membrilor**:​ 
-  * **public**: câmpul/​metoda poate fi accesată de oriundeinclusiv din clasele derivate. + 
-  * **protected/​default**:​ câmpul/​metoda poate fi accesată în clasa proprie sau în clasele derivate. +^ ^Default^Private^Protected^Public^ 
-  * **private**:​ câmpul/​metoda poate fi accesată doar în clasa proprie.+^Aceeași clasă|Da|Da|Da|Da| 
 +^Același pachetsubclasă|Da|Nu|Da|Da| 
 +^Același pachet, non-subclasă|Da|Nu|Da|Da| 
 +^Pachet diferit, subclasă|Nu|Nu|Da|Da| 
 +^Pachet diferit, non-subclasă|Nu|Nu|Nu|Da|
  
 ===Moștenirea constructorilor=== ===Moștenirea constructorilor===
Line 423: Line 430:
 | Expunerea metodei ​        | doar obiectul conținut ​               | toate metodele părintelui ​                 | | Expunerea metodei ​        | doar obiectul conținut ​               | toate metodele părintelui ​                 |
 | Control asupra obiectului | containerul folosește obiectul extern | copilul extinde comportamentele părintelui | | Control asupra obiectului | containerul folosește obiectul extern | copilul extinde comportamentele părintelui |
-| Exemplu ​                  | Car **has a**n Engine ​                 | Dog **is a** Animal ​                       |+| Exemplu ​                  | Car **has a**n Engine ​                 | Dog **is a**Animal ​                       |
  
 În general, întrebarea ''​has-a''​ sau ''​is-a''​ este suficientă pentru a determina tipul de relație, însă există obiecte pentru care relația nu poate fi stabilită ușor folosind această întrebare. ​ În general, întrebarea ''​has-a''​ sau ''​is-a''​ este suficientă pentru a determina tipul de relație, însă există obiecte pentru care relația nu poate fi stabilită ușor folosind această întrebare. ​
poo-ca-cd/laboratoare/design-avansat-de-clase.1761074719.txt.gz · Last modified: 2025/10/21 22:25 by florian_luis.micu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0