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