Polimorfisms



polimorfisms

Datorzinātnēs polimorfisms attiecas uz programmēšanas valodas spēju interpretēt objektiem dažādos veidos, pamatojoties uz viņu klasē vai datu tips . Būtībā tā ir vienas metodes spēja piemērot atvasinātajām klasēm un sasniegt pareizu rezultātu.



Padoms

Jūs varat atcerēties šo vārdu, sadalot to. Vārds “poly” nozīmē “daudzi” un “morph” nozīmē “forma”.

Trīs polimorfisma atzari

  • Ad hoc polimorfisms ir tad, kad a funkciju tiek ieviesta atšķirīgi atkarībā no ierobežota skaita noteiktu veidu un ievades parametru kombinācijas. Ad hoc polimorfisma piemērs ir funkciju pārslodze .
  • Parametriskais polimorfisms ir kad kods ir rakstīts bez jebkāda veida specifikācijas, un tāpēc to var izmantot ar jebkuru citu dažādu veidu skaitu, kas norādīts vēlāk. In objektorientēta programmēšana , to bieži sauc par vispārēju programmēšanu.
  • Iekļaušanas polimorfisms , zināms arī kā apakštipa , ir tad, kad viens nosaukums attiecas uz daudziem dažādu klašu gadījumiem, ja vien tiem ir viena un tā pati augstākā klase.

Polimorfisma piemērs Java

Koda piemērs

class OverloadedObject { void overloadedMethod (int a) { System.out.println('This method is called when the parameter is an integer. a = ' + a); } void overloadedMethod (int a, int b) { System.out.println('This method is called when there are two parameters, and they are both integers. a = ' + a + ', b = ' + b); } void overloadedMethod (double a) { System.out.println('This method is called when there is one parameter, and it is a double-precision number. a = ' + a); } } class DemonstrateOverloading { public static void main (String args []) { OverloadedObject myObj = new OverloadedObject(); myObj.overloadedMethod(1); myObj.overloadedMethod(2, 3); myObj.overloadedMethod(4); } }

Koda izvades piemērs

This method is called when the parameter is an integer. a = 1 This method is called when there are two parameters, and they are both integers. a = 2, b = 3 This method is called when the parameter is a double-precision number. a = 4

Ievērojiet, ka tas rada atšķirīgu izvadi, pamatojoties uz dažādiem ievades parametriem, pat ja klasē un metodi izsauktais vārds katru reizi ir vienāds.