Mikä on polymorfismi?

Tietojenkäsittelytieteessä polymorfismi viittaa ohjelmointikielen kykyyn tulkita objekteja eri tavoin luokkansa tai tietotyypin mukaan. Pohjimmiltaan se on yhden menetelmän kyky soveltaa johdettuun luokkaan ja saavuttaa oikea tulos.

Kolme polymorfismin haaraa

  • Ad hoc -polymorfismi on, kun funktio toteutetaan eri tavalla riippuen rajoitetusta määrästä määriteltyjä tyyppejä ja syöttöparametrien yhdistelmiä. Esimerkki ad hoc -polymorfismista on funktion ylikuormitus.
  • Parametrinen polymorfismi on, kun koodi on kirjoitettu ilman tyyppiä, joten sitä voidaan käyttää minkä tahansa myöhempien määritysten kanssa. Objekti-suuntautuneessa ohjelmoinnissa tätä kutsutaan usein yleiseksi ohjelmoinniksi.
  • Inclusion-polymorfismi, joka tunnetaan myös nimellä subtyping, on se, kun yksittäinen nimi voi viitata mihin tahansa lukumäärään eri luokkia, kunhan niillä on sama superluokka.

Polymorfismi esimerkki Java

Esimerkkikoodi

 class OverloadedObject {void overloadedMethod (int a) {System.out.println ("Tätä menetelmää kutsutaan, kun parametri on kokonaisluku. a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("Tätä menetelmää kutsutaan, kun on kaksi parametria, ja ne ovat molemmat kokonaislukuja. a =" + a + ", b =" + b); } void overloadedMethod (kaksinkertainen a) {System.out.println ("Tätä menetelmää kutsutaan, kun on yksi parametri, ja se on kaksinkertaisen tarkkuuden numero. a =" + a); }} class DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = uusi OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }} 

Esimerkkikoodin ulostulo

 Tätä menetelmää kutsutaan, kun parametri on kokonaisluku. a = 1 Tätä menetelmää kutsutaan, kun on kaksi parametria, ja ne ovat molemmat kokonaislukuja. a = 2, b = 3 Tätä menetelmää kutsutaan, kun parametri on kaksinkertaisen tarkkuuden numero. a = 4 

Huomaa, että se tuottaa eri tuotosparametreihin perustuvan tuotoksen, vaikka käytetyn luokan ja menetelmän nimi on sama joka kerta.

Objektiivinen, lähtö, parametri, polymorfinen virus, ohjelmointikieli, ohjelmointitermit