Differences

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

Link to this comparison view

poo-is:laboratoare:05 [2020/09/22 15:17]
ruben_gilian.udroiu [Polimorfism]
poo-is:laboratoare:05 [2020/09/29 22:26] (current)
alexandru.ionita99
Line 7: Line 7:
   * Capitolul 15 (Chapter 15: Polymorphism and virtual functions, pag. 661-693)   * Capitolul 15 (Chapter 15: Polymorphism and virtual functions, pag. 661-693)
  
-===== Polimorfism =====+===== 1. Polimorfism =====
 <note important>​**Polimorfism** = abilitatea unei functii cu un anumit nume sa aiba comportamente diferite, in functie de parametrii de intrare.</​note>​ <note important>​**Polimorfism** = abilitatea unei functii cu un anumit nume sa aiba comportamente diferite, in functie de parametrii de intrare.</​note>​
 <note important>​In C++, avem mai multe tipuri de polimorfism:​ <note important>​In C++, avem mai multe tipuri de polimorfism:​
Line 39: Line 39:
   * numarul si tipul parametrilor ​   * numarul si tipul parametrilor ​
 </​note>​ </​note>​
-==== Exemplu ====+==== 1.1. Exemplu ====
 <code c++ CompileTime.cpp>​ <code c++ CompileTime.cpp>​
 #include <​iostream>​ #include <​iostream>​
Line 68: Line 68:
 <​note>​Observam ca, desi au acelasi nume, **semnatura** metodelor difera doar prin **tipul** si **numarul** parametrilor.</​note>​ <​note>​Observam ca, desi au acelasi nume, **semnatura** metodelor difera doar prin **tipul** si **numarul** parametrilor.</​note>​
  
-===== Agregare =====+===== 2. Agregare =====
 <note important>​**Agregarea** = procedeul prin care se creeaza un nou tip de date (o noua clasa) folosind tipuri de date (clase) existente <note important>​**Agregarea** = procedeul prin care se creeaza un nou tip de date (o noua clasa) folosind tipuri de date (clase) existente
  
 **Relatia de agregare** = o relatie intre clase de tipul "has a", "has many"</​note>​ **Relatia de agregare** = o relatie intre clase de tipul "has a", "has many"</​note>​
-==== De ce? ====+==== 2.1. De ce? ====
 <note tip>​**Reutilizarea codului duplicat in dezvoltarea de aplicatii** (code reuse) <note tip>​**Reutilizarea codului duplicat in dezvoltarea de aplicatii** (code reuse)
  
Line 80: Line 80:
 </​note>​ </​note>​
  
-==== Scurt exemplu ====+==== 2.2. Scurt exemplu ====
  
 <code c++> <code c++>
Line 100: Line 100:
   * se reutilizeaza codul deja implementat din A   * se reutilizeaza codul deja implementat din A
 </​note>​ </​note>​
-==== Exemplu amanuntit ====+==== 2.3. Exemplu amanuntit ====
 <code c++> <code c++>
 #include <​iostream>​ #include <​iostream>​
poo-is/laboratoare/05.1600777073.txt.gz · Last modified: 2020/09/22 15:17 by ruben_gilian.udroiu
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