Hva er polymorfisme?

I datavitenskap refererer polymorfisme til evnen til et programmeringsspråk til å tolke objekter på forskjellige måter basert på klassen eller datatypen. I hovedsak er det evnen til en enkelt metode å bli anvendt på avledede klasser og oppnå en riktig utgang.

Tre grener av polymorfisme

  • Ad hoc-polymorfisme er når en funksjon implementeres annerledes avhengig av et begrenset antall spesifiserte typer og kombinasjoner av inngangsparametere. Et eksempel på ad hoc-polymorfisme er funksjon overbelastning.
  • Parametrisk polymorfisme er når kode er skrevet uten spesifikasjon av type, og kan derfor brukes med et hvilket som helst antall forskjellige typer spesifisert senere. I objektorientert programmering kalles dette ofte generisk programmering.
  • Inkluderingspolymorfisme, også kjent som subtyping, er når et enkelt navn kan referere til forekomster av et hvilket som helst antall forskjellige klasser så lenge de deler samme superklasse.

Polymorfiseksempel i Java

Eksempelkode

 klasse OverloadedObject {void overloadedMethod (int a) {System.out.println ("Denne metoden kalles når parameteren er et heltall. a =" + a); } tomt overbelastetMetode (int a, int b) {System.out.println ("Denne metoden kalles når det er to parametere, og de er begge heltall. a =" + a + ", b =" + b); } void overloadedMethod (double a) {System.out.println ("Denne metoden kalles når det er en parameter, og det er et dobbeltspesifikasjonsnummer. a =" + a); }} klasse DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = new OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }} 

Eksempelkodeutgang

 Denne metoden kalles når parameteren er et heltall. a = 1 Denne metoden kalles når det er to parametere, og de er begge heltall. a = 2, b = 3 Denne metoden kalles når parameteren er et dobbeltspesifikasjonsnummer. a = 4 

Legg merke til at det produserer forskjellig utgang basert på forskjellige inngangsparametere, selv om klassen og metodenavnet påberopes, er de samme hver gang.

Objektorientert, Output, Parameter, Polymorphic Virus, Programmeringsspråk, Programmeringsbetingelser