Ի՞նչ է պոլիմորֆիզմը ծրագրավորման մեջ։
sobes.tech AI
Պատասխան AI-ից
Պոլիմորֆիզմը՝ դա տարբեր դասերի օբյեկտների կարողությունն է տարբեր կերպ արձագանքել նույն մեթոդի կանչին: Դա հասնում է ժառանգության, աբստրակտ դասերի և ինտերֆեյսների օգտագործմամբ: C#-ում պոլիմորֆիզմը արտահայտվում է բազային դասի մեթոդների վերագրումով (overriding) և перегрузкой (overloading):
Պոլիմորֆիզմի օրինակներ:
-
Մեթոդների վերագրում (Runtime Polymorphism): Դուստր դասը տրամադրում է սեփական իրականացմանը բազային դասում նշված մեթոդը: Դրա համար բազային դասում օգտագործվում է
virtualբանալի բառը, իսկ դուստր դասում՝override:// Բազային դաս class Shape { // Վիրտուալ մեթոդ, որը կարող է վերագրել public virtual void Draw() { // Դեֆոլտ իրականացում } } // Դուստր դաս 1 class Circle : Shape { // Մեթոդի վերագրում public override void Draw() { // Շրջանի համար իրականացում } } // Դուստր դաս 2 class Square : Shape { // Մեթոդի վերագրում public override void Draw() { // քառակուսի համար իրականացում } }Այս դեպքում կարող եք ստեղծել
Shapeօբյեկտների ցանկ և կանչելDrawմեթոդը յուրաքանչյուրի համար, և կկոչվի կոնկրետ իրականացումը յուրաքանչյուր ձևի համար: -
Մեթոդների перегрузка (Compile-time Polymorphism): Միևնույն անունով մի քանի մեթոդներ, բայց տարբեր սինտաքսներ (պարամետրերի քանակը կամ տիպերը) մեկ դասում:
class Calculator { // перегруженный մեթոդ Add (int) public int Add(int x, int y) { return x + y; } // перегруженный մեթոդ Add (double) public double Add(double x, double y) { return x + y; } }
Պոլիմորֆիզմը նպաստում է ավելի ճկուն, ընդլայնվող և հեշտությամբ պահպանվող կոդի ստեղծմանը: Դա թույլ է տալիս գրել ընդհանուր կոդ, որը կարող է աշխատել տարբեր տիպերի օբյեկտների հետ։