Informatică Programare
Conceptul de polimorfism in OOP cu exemple
Polimorfismul în OOP permite obiectelor de tipuri diferite să răspundă la același mesaj, folosind funcții virtuale în C++. De exemplu, o clasă de bază Forma poate avea o metodă virtuală arie() suprascrisă în clasele derivate Cerc și Dreptunghi.
Implementare în C++
- 1 Clasa de bază class Forma { public: virtual double arie() { return 0; } };
- 2 Clase derivate class Cerc : public Forma { private: double raza; public: Cerc(double r) : raza(r) {} double arie() override { return 3.14 * raza * raza; } }; class Dreptunghi : public Forma { private: double L, l; public: Dreptunghi(double L, double l) : L(L), l(l) {} double arie() override { return L * l; } };
Exemplu de utilizare
- 1 Cod principal int main() { Forma* f1 = new Cerc(5); Forma* f2 = new Dreptunghi(4, 3); cout << f1->arie(); // Afișează 78.5 cout << f2->arie(); // Afișează 12 delete f1; delete f2; return 0; }
Declară metodele ca virtuale în clasa de bază pentru a permite suprascrierea corectă.