Wat is polymorfisme?

In de informatica verwijst polymorfisme naar het vermogen van een programmeertaal om objecten op verschillende manieren te interpreteren op basis van hun klasse of gegevenstype. In essentie is het het vermogen van een enkele methode om afgeleide klassen toe te passen en een goede output te bereiken.

Drie takken van polymorfisme

  • Ad-hoc polymorfisme is wanneer een functie op een andere manier wordt geïmplementeerd, afhankelijk van een beperkt aantal gespecificeerde typen en combinaties van invoerparameters. Een voorbeeld van ad hoc polymorfisme is overbelasting van functies.
  • Parametrisch polymorfisme is wanneer een code wordt geschreven zonder enige specificatie van het type, en kan dus worden gebruikt met een aantal verschillende typen die later worden gespecificeerd. Bij objectgeoriënteerd programmeren wordt dit vaak een generieke programmering genoemd.
  • Inclusion polymorphism, ook wel bekend als subtypen, is wanneer een enkele naam kan verwijzen naar instanties van een willekeurig aantal verschillende klassen zolang ze dezelfde superklasse delen.

Polymorfisme bijvoorbeeld in Java

Voorbeeldcode

 class OverloadedObject {void overloadedMethod (int a) {System.out.println ("Deze methode wordt aangeroepen wanneer de parameter een geheel getal is. a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("Deze methode wordt aangeroepen als er twee parameters zijn, en ze zijn beide gehele getallen. a =" + a + ", b =" + b); } void overloadedMethod (double a) {System.out.println ("Deze methode wordt aangeroepen wanneer er één parameter is, en het is een dubbel-precisienummer. a =" + a); }} class DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = new OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }} 

Voorbeeldcode uitvoer

 Deze methode wordt aangeroepen wanneer de parameter een geheel getal is. a = 1 Deze methode wordt aangeroepen wanneer er twee parameters zijn, en ze zijn beide gehele getallen. a = 2, b = 3 Deze methode wordt aangeroepen als de parameter een getal met dubbele precisie is. a = 4 

Merk op dat het verschillende uitvoer produceert op basis van verschillende invoerparameters, zelfs als de naam van de klasse en de methode telkens worden aangeroepen.

Objectgeoriënteerd, Output, Parameter, Polymorf virus, Programmeertaal, Programmeervoorwaarden