Sobes.tech
Junior — Middle

განმარტეთ ობიექტზე ორიენტირებული პროგრამირების კონცეფცია პოლიმორფიზმის და როგორ ხორციელდება იგი კოდში.

sobes.tech AI

პასუხი AI-სგან

ობიექტზე ორიენტირებული პროგრამირების სფეროში მრავალფეროვნება — ეს არის უნარი, რომ სხვადასხვა კლასის ობიექტებმა ერთნაირ შეტყობინებებზე (მეთოდების გამოძახილებზე) განსხვავებული რეაგირება მოახდინონ. ეს საშუალებას აძლევს გამოიყენოთ ერთიანი ინტერფეისი სხვადასხვა ტიპის ობიექტებთან მუშაობისთვის.

Java-ში მრავალფეროვნება რეალიზებულია მემკვიდრეობით და მეთოდების გადაწერით. მაგალითად, ძირითადი კლასი აცხადებს მეთოდს, ხოლო ქვესკლასები ახორციელებს მას თავისებურად.

მაგალითი:

class Animal {
    void sound() {
        System.out.println("რაღაც ხმა");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("ხმობა");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("მიუ");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // გამოიტანს "ხმობა"
        a2.sound(); // გამოიტანს "მიუ"
    }
}

აქ, ტიპის Animal ცვლადი შეიძლება მითითება სხვადასხვა ქვესკლასის ობიექტებზე, და მეთოდის sound() გამოძახება შესრულდება ობიექტის რეალურ ტიპზე დამოკიდებული — ეს არის მრავალფეროვნება.