Polimorfisms (programmēšana)

Vikipēdijas lapa

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.