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. 1
    Clasa de bază class Forma { public: virtual double arie() { return 0; } };
  2. 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. 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ă.

Mai multe din Programare