Informatică Programare

Polimorfismul in programare orientata obiect

Polimorfismul în programarea orientată pe obiecte este capacitatea unui obiect de a se comporta diferit în funcție de context, permițând tratarea unor obiecte de tipuri diferite printr-o interfață comună. În C++, se implementează prin funcții virtuale și clase de bază abstracte.

Funcții virtuale

  • Declarare Se adaugă cuvântul cheie 'virtual' în fața unei funcții în clasa de bază. Exemplu: 'virtual void afiseaza()'.
  • Suprascriere În clasa derivată, funcția este redefinită folosind aceeași semnătură, opțional cu 'override'.
  • Apelare Se apelează prin pointer sau referință la clasa de bază, iar versiunea din clasa derivată este executată.

Exemplu numeric

  1. 1
    Clasa de bază class Forma { public: virtual double arie() { return 0; } };
  2. 2
    Clasa derivată class Cerc : public Forma { double raza; public: Cerc(double r) : raza(r) {} double arie() override { return 3.14 * raza * raza; } };
  3. 3
    Utilizare polimorfică Forma* f = new Cerc(5); cout << f->arie(); // Calculează aria cercului, afișează 78.5

Utilizează pointeri sau referințe la clasa de bază pentru a beneficia de polimorfism.

Mai multe din Programare