This shows you the differences between two versions of the page.
|
poo-ca-cd:laboratoare:design-avansat-de-clase [2025/10/25 17:42] florian_luis.micu [Laboratorul 3: Design Avansat de Clase] |
poo-ca-cd:laboratoare:design-avansat-de-clase [2025/10/25 19:50] (current) florian_luis.micu [Laboratorul 3: Design Avansat de Clase] |
||
|---|---|---|---|
| Line 6: | Line 6: | ||
| * clarificări pentru gestionarea memoriei statice și VTables. | * clarificări pentru gestionarea memoriei statice și VTables. | ||
| * schimbat tipul de return în Lazy Evaluation. | * schimbat tipul de return în Lazy Evaluation. | ||
| - | * clarificat specificatorii de acces în contextul moștenirii. | + | * clarificări pentru specificatorii de acces în contextul moștenirii. |
| =====Obiective===== | =====Obiective===== | ||
| Line 289: | 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 **doar î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 oriunde, inclusiv din clasele derivate. | + | |
| - | * **default**: câmpul/metoda poate fi accesată în clasa proprie. | + | ^ ^Default^Private^Protected^Public^ |
| - | * **protected**: câmpul/metoda poate fi accesată în clasa proprie sau în clasele derivate. | + | ^Aceeași clasă|Da|Da|Da|Da| |
| - | * **private**: câmpul/metoda poate fi accesată doar în clasa proprie. | + | ^Același pachet, subclasă|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=== | ||