Toggle menu
309,6 tis.
57
18
527,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): razlika između inačica

Izvor: Hrvatska internetska enciklopedija
Bot: Automatski unos stranica
 
m bnz
 
Redak 1: Redak 1:
<!--'''Polimorfizam (računarstvo)'''-->'''Polimorfizam''' ({{en|polymorphism}}), ili jednostavno "moć poprimanja više oblika" je osobina po kojoj [[metoda]] ima parametre različitih [[tip podataka|tipova]]. Npr. <code>dodaj()</code> metoda može imati brojčane parametre ili tekstualne, ovisno o upotrebi:
Polimorfizam''' ({{en|polymorphism}}), ili jednostavno "moć poprimanja više oblika" je osobina po kojoj [[metoda]] ima parametre različitih [[tip podataka|tipova]]. Npr. <code>dodaj()</code> metoda može imati brojčane parametre ili tekstualne, ovisno o upotrebi:
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
// primjer u Javi
// primjer u Javi

Posljednja izmjena od 23. ožujak 2022. u 21:29

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:பல்லுருத்தோற்றம்