Differences

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

Link to this comparison view

poo-is-ab:laboratoare:09 [2024/12/04 11:28]
razvan.cristea0106 [Vector de obiecte neomogene]
poo-is-ab:laboratoare:09 [2025/01/19 22:30] (current)
razvan.cristea0106
Line 29: Line 29:
    * **Scalabilitate**:​ Adăugarea de noi tipuri de obiecte devine ușoară, fără a modifica codul existent    * **Scalabilitate**:​ Adăugarea de noi tipuri de obiecte devine ușoară, fără a modifica codul existent
  
-Astfel, vectorii de obiecte neomogene reprezintă un instrument esențial în gestionarea colecțiilor de date diverse, utilizând avantajele oferite de **polimorfism** și de principiile **POO**. Această tehnică facilitează crearea de sisteme **modulare** și **extensibile**,​ esențiale pentru aplicații complexe.+Astfel, ​**vectorii de obiecte neomogene** reprezintă un instrument esențial în gestionarea colecțiilor de date diverse, utilizând avantajele oferite de **polimorfism** și de principiile **POO**. Această tehnică facilitează crearea de sisteme **modulare** și **extensibile**,​ esențiale pentru aplicații complexe.
  
-Pentru a putea construi un vector de obiecte neomogene mai întâi avem nevoie de o ierarhie de clase iar exemplul din acest laboartor este realizat cu ajutorul claselor **ProdusElectronic** care este o interfață și respectiv **Laptop** și **SmartPhone** care sunt clase concrete ce implementează interfața anterior menționată.+Pentru a putea construi un **vector de obiecte neomogene** mai întâi avem nevoie de o **ierarhie de clase** iar exemplul din acest laboartor este realizat cu ajutorul claselor **ProdusElectronic** care este o **interfață** și respectiv **Laptop** și **SmartPhone** care sunt **clase concrete** ce **implementează** interfața anterior menționată.
  
 Interfața **ProdusElectronic** conține metodele virtual pure ''​**getPret**''​ și respectiv ''​**getProducator**''​ și un destructor virtual pur. Interfața **ProdusElectronic** conține metodele virtual pure ''​**getPret**''​ și respectiv ''​**getProducator**''​ și un destructor virtual pur.
Line 178: Line 178:
 </​code>​ </​code>​
  
-Pentru a putea declara un **vector de obiecte neomogene** vom folosi un **dublu pointer** la tipul interfeței **ProdusElectronic** pe care îl vom aloca dinamic folosind **operatorul new** după cum urmează.+Pentru a putea declara un **vector de obiecte neomogene** vom folosi un **dublu pointer** la tipul interfeței **ProdusElectronic** pe care îl vom aloca dinamic folosind **operatorul new** după cum urmează ​în blocul de cod de mai jos.
  
 <code cpp> <code cpp>
Line 403: Line 403:
 == Vectori de obiecte neomogene == == Vectori de obiecte neomogene ==
  
-Am înțeles cum să declarăm și să populăm un vector de obiecte neomogene, folosind pointeri către clase abstracte. Acest lucru ne-a permis să lucrăm eficient cu obiecte care împărtășesc o interfață comună, dar pot avea implementări distincte. Vectorii de acest tip reprezintă o continuare firească a conceptelor de **clase abstracte** și **interfețe**,​ aprofundate în laboratorul anterior.+Am înțeles cum să declarăm și să populăm un vector de obiecte neomogene, folosind pointeri către clase abstracte ​sau interfețe. Acest lucru ne-a permis să lucrăm eficient cu obiecte care împărtășesc o interfață comună, dar pot avea implementări distincte. Vectorii de acest tip reprezintă o continuare firească a conceptelor de **clase abstracte** și **interfețe**,​ aprofundate în laboratorul anterior.
  
 == Destructor virtual pur == == Destructor virtual pur ==
poo-is-ab/laboratoare/09.1733304487.txt.gz · Last modified: 2024/12/04 11:28 by razvan.cristea0106
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