Toggle menu
309,8 tis.
57
18
526,9 tis.
Hrvatska internetska enciklopedija
Toggle preferences menu
Toggle personal menu
Niste prijavljeni
Your IP address will be publicly visible if you make any edits.

Polimorfizam (računarstvo)

Izvor: Hrvatska internetska enciklopedija
Inačica 444479 od 23. ožujak 2022. u 21:29 koju je unio WikiSysop (razgovor | doprinosi) (bnz)
(razl) ←Starija inačica | vidi trenutačnu inačicu (razl) | Novija inačica→ (razl)

Polimorfizam (engl. polymorphism), ili jednostavno "moć poprimanja više oblika" je osobina po kojoj metoda ima parametre različitih tipova. Npr. dodaj() metoda može imati brojčane parametre ili tekstualne, ovisno o upotrebi:

// primjer u Javi

public class PrimjerPolimorfizma {

/**
 * Dodaj broj trenutnoj vrijednosti. Npr. ako nam je trenutna
 * vrijednost 5, onda dodaj(6) mijenja trenutnu vrijednost u
 * 11.
 */
public void dodaj(int broj) {
  mojBroj += broj;
}

/**
 * Dodaj broj trenutnoj vrijednosti. Npr. ako nam je trenutna
 * vrijednost 'Pozdrav', onda dodaj('Ljudi') mijenja trenutnu 
 * vrijednost u 'PozdravLjudi'.
 */
public void dodaj(String tekst) {
  mojTekst += tekst;
}

private int mojBroj = 0;
private String mojTekst = null;
}

Polimorfizam također omogućuje da se adresa objekta podklase pohranjuje u pokazivač tipa njegove super klase (termini podklase (engl. subclass) i super klase (engl. superclass) dolaze iz pojma nasljeđivanje (engl. inheritance):

//primjer u C++

class A {
public:
  virtual void method() = 0;
};

class B : public A {
public:
  void method() {
    cout << "Hello, World." << endl;
  }
};

int main()
{
  A *p = new B; //Iako je pokazivač tipa A, zbog polimorfizma mu je moguće pridružiti B
  p->method(); //Na ekranu će se ispisati Hello, World.
  return 0;
}

U gornjem je primjeru klasa A primjer čiste (engl. pure) apstraktne klase što znači da je iz klase A nemoguće instancirati objekt.

ta:பல்லுருத்தோற்றம்