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() մեթոդի կանչը կիրականացվի օբյեկտի իրական տիպից կախված — սա է բազմակողմանիությունը։