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