Kas ir polimorfisms programmēšanā?
sobes.tech AI
Atbilde no AI
Polimorfisms — tas spēja dažādu klases objektiem reaģēt uz vienu un to pašu metodes izsaukumu dažādi. Tas tiek panākts, izmantojot mantošanu, abstraktus klases un saskarnes. C# polimorfisms izpaužas, pārrakstot (overriding) bāzes klases metodes un pārslodzes (overloading) metodes:
Polimorfisma piemēri:
-
Metodes pārrakstīšana (Runtime Polymorphism): Apakšklase nodrošina savu versiju metodes, kas ir norādīta bāzes klasē ar
virtual. To veic aroverrideatslēgvārdu.// Bāzes klase class Shape { // Virituāla metode, kuru var pārrakstīt public virtual void Draw() { // Noklusējuma realizācija } } // Apakšklase 1 class Circle : Shape { // Metodes pārrakstīšana public override void Draw() { // Ģeometriskā apraksta realizācija } } // Apakšklase 2 class Square : Shape { // Metodes pārrakstīšana public override void Draw() { // Kvadrāta realizācija } }Šādā veidā var izveidot
Shapeobjektu sarakstu un izsauktDrawkatram, un tiks izsaukta konkrētā realizācija. -
Pārslodze (Compile-time Polymorphism): Daudzas metodes ar vienādiem nosaukumiem, bet dažādām parametru sērijām (skaits vai tipi) vienā klasē.
class Calculator { // Pārslodzes metode Add (int) public int Add(int x, int y) { return x + y; } // Pārslodzes metode Add (double) public double Add(double x, double y) { return x + y; } }
Polimorfisms veicina elastīgāku, paplašināmu un viegli uzturamu kodu. Tas ļauj rakstīt vispārēju kodu, kas var strādāt ar dažādu tipu objektiem.