პოლიმორფიზმი რა არის პროგრამირებაში?
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; } }
პოლიმორფიზმი ხელს უწყობს უფრო მოქნილი, გაფართოებადი და ადვილად შენარჩუნებადი კოდის შექმნას. იგი საშუალებას აძლევს დაწეროთ საერთო კოდი, რომელიც მუშაობს სხვადასხვა ტიპის ობიექტებთან.