Junior
Ի՞նչ է ժառանգությունը և պոլիմորֆիզմը:
sobes.tech AI
Պատասխան AI-ից
Երասխոլում՝ դա մեխանիզմ է, որը թույլ է տալիս դասին (մշակ, ժառանգորդ դաս) ժառանգել այլ դասի (հայր, սուպեր դաս) դաշտերը և մեթոդները։ Սա խթանում է կոդի կրկնակի օգտագործումը:
Պոլիմորֆիզմը՝ դա նույն ինտերֆեյսի օգտագործումն է տարբեր հիմնական ձևերի ներկայացման համար։ Java-ի համատեքստում դա նշանակում է, որ հղման տիպի փոփոխականը կարող է հղում կատարել իր սեփական տիպի օբյեկտին կամ ցանկացած իր ենթատիպի օբյեկտին։ Բաժանվում է կոմպիլյացիայի ժամանակի պոլիմորֆիզմը (մեթոդների բեռնվածություն) և գործարկման ժամանակի պոլիմորֆիզմը (մեթոդների վերագրում):
Հիմնական տարբերությունը՝
- Ժառանգություն սահմանում է հարաբերություններ դասերի միջև (հայր-որդի) և թույլ է տալիս կոդի կրկնակի օգտագործում:
- Պոլիմորֆիզմ թույլ է տալիս մուտք գործել տարբեր օբյեկտների միջոցով՝ ընդհանուր ինտերֆեյսի միջոցով, և իրականացնել համապատասխան մեթոդը՝ կախված օբյեկտի իրական տիպից՝ գործարկման ժամանակ:
Գործարկման ժամանակի պոլիմորֆիզմի օրինակ՝
class Animal {
public void sound() {
System.out.println("Համայն կենդանին հանում է ձայն");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Հաու-հաու");
}
}
class Cat extends Animal {
@Override
public void sound() {
System.out.println("Մյաո-մյաո");
}
}
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // Պոլիմորֆիզմ՝ Animal տիպի փոփոխական, որը հղում է անում Dog օբյեկտին
Animal myCat = new Cat(); // Պոլիմորֆիզմ՝ Animal տիպի փոփոխական, որը հղում է անում Cat օբյեկտին
myDog.sound(); // Կոչ է անում Dog դասի sound() մեթոդը
myCat.sound(); // Կոչ է անում Cat դասի sound() մեթոդը
}
}