Mis on polümorfism?

Arvutiteaduses viitab polümorfism programmeerimiskeele võimele tõlgendada objekte erinevatel viisidel vastavalt nende klassile või andmetüübile. Sisuliselt on tuletatud klassidele ühe meetodi võime ja õige väljundi saavutamine.

Kolm polümorfismi haru

  • Ad hoc polümorfism on see, kui funktsiooni rakendatakse erinevalt, sõltuvalt piiratud hulgast määratud tüüpi ja sisendparameetrite kombinatsioonidest. Ad hoc polümorfismi näide on funktsiooni ülekoormus.
  • Parameetriline polümorfism on siis, kui kood on kirjutatud ilma igasuguse spetsifikatsioonita, ja seda saab kasutada koos suvalise arvu erinevate tüüpidega, mis on hiljem määratletud. Objektile orienteeritud programmeerimisel nimetatakse seda sageli üldiseks programmeerimiseks.
  • Kaasamise polümorfism, tuntud ka kui alamtüüpimine, on see, kui üks nimi võib viidata ükskõik millise erineva klassi juhtudele, kui nad jagavad sama superklassi.

Polümorfismi näide Java

Näide kood

 klass OverloadedObject {void overloadedMethod (int a) {System.out.println ("Seda meetodit nimetatakse, kui parameeter on täisarv. a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("Seda meetodit nimetatakse, kui on kaks parameetrit ja need on mõlemad täisarvud. a =" + a + ", b =" + b); } void overloadedMethod (topelt a) {System.out.println ("Seda meetodit nimetatakse, kui on üks parameeter ja see on topelt-täpsusega number. a =" + a); }} klass DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = uus OverloadedObject (); myObj.overloadedMetod (1); myObj.overloadedMetod (2, 3); myObj.overloadedMetod (4); }} 

Koodi väljundi näide

 Seda meetodit nimetatakse, kui parameeter on täisarv. a = 1 Seda meetodit nimetatakse, kui on kaks parameetrit ja need on mõlemad täisarvud. a = 2, b = 3 Seda meetodit nimetatakse, kui parameeter on kahekordse täpsusega number. a = 4 

Pange tähele, et see toodab erinevat sisendparameetritel põhinevat väljundit, kuigi kasutatav klass ja meetodi nimi on iga kord samad.

Objektorienteeritud, väljund, parameeter, polümorfne viirus, programmeerimiskeel, programmeerimise terminid