Polimorfisms (programmēšana)
Šajā rakstā ir pārāk maz vikisaišu. Lūdzu, palīdzi uzlabot šo rakstu, saliekot tajā saites uz citiem rakstiem. Ja ir kādi ieteikumi, vari tos pievienot diskusijā. Vairāk lasi lietošanas pamācībā. |
Šis raksts ir slikti iztulkots. Iespējams, tulkojums ģenerēts ar tulkošanas programmatūru, vai arī tulks slikti pārvalda vienu no valodām. Lūdzu, palīdzi uzlabot šo rakstu. Ja ir kādi ieteikumi, vari tos pievienot diskusijā. Vairāk lasi lietošanas pamācībā. |
Šim rakstam nav ievada vai ievadā nav definīcijas. Lūdzu, palīdzi uzlabot šo rakstu, uzrakstot skaidru apskatītā subjekta definīciju. Ja ir kādi ieteikumi, vari tos pievienot diskusijā. Vairāk lasi lietošanas pamācībā. |
Ir dažādu objektu spēja dažādi apstrādāt vienādus ziņojumus. Polimorfisms nodrošina to, ka vienu un to pašu vārdu var izmantot loģiski saistītiem, bet dažādiem mērķiem. Tas nozīmē, ka vienas programmu sistēmas robežās tiek izmantoti elementi, kuriem ir viens nosaukums, bet dažādā apstrāde.
Daļu no polimorfisma iespējām nodrošina funkciju un operatoru pārslogošana. Piemēram, var nodefinēt savu funkciju getSum( a, b ), kur a un b vienā gadījumā būs veseli skaitļi, otrajā gadījumā tie būs decimālie skaitļi, bet trešajā – imaginārie skaitļi. Atkarībā no argumentu datu tipa, funkcija izpildīs dažādas darbības (ko izsaukt, to lems translators).
Citas iespējas sedz dinamiskais polimorfisms, kas paredz iespēju, ka ar atvasinātas klases objektiem var strādāt tā, it kā tie būtu bāzes klases objekti. Piemēram, tiek veidota bāzes klase "SabiedrisksTransports", no kuras atvasina trīs klases: "Autobuss", "Trolejbuss" un "Tramvajs". Dinamiskais polimorfisms ļauj izveidot masīvu no klases "Transports" objektiem, nerūpējoties par to, vai tas būs autobuss, trolejbuss vai tramvajs.