Sobes.tech
Middle

Ինֆորմացիայի տեսակների համատեքստում ժառանգականությունն ու բազմակողմանիությունը ի՞նչ են։

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 իրականացմանը։