Polimorfizam (), 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 () i super klase () dolaze iz pojma nasljeđivanje (): //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 () apstraktne klase što znači da je iz klase A nemoguće instancirati objekt.

Kategorija:Objektno orijentirano programiranje ta:பல்லுருத்தோற்றம்