Sobes.tech
Junior — Middle

Ինչպե՞ս տարբերել մեթոդի ավելցուկը նրա վերաշարադրությունից օբյեկտային ծրագրավորման մեջ։

sobes.tech AI

Պատասխան AI-ից

Մեթոդի ավելցուկային (overloading) և մեթոդի վերագրում (overriding) տարբեր հասկացություններ են օբյեկտային ծրագրավորման մեջ.

  • Մեթոդի ավելցուկային (overloading): նույն դասում մի քանի մեթոդ կա նույն անունով, բայց տարբեր պարամետրերով (տիպ, քանակ): Սա թույլ է տալիս կանչել մեթոդը տարբեր արգումենտներով:

  • Մեթոդի վերագրում (overriding): երբ ենթակլասը տրամադրում է իր սեփական իրականացմանը արդեն սահմանված մեթոդի, որը նույն սիգնատուրայով (անուն և պարամետրեր) է, բազային դասում: Սա թույլ է տալիս փոխել մեթոդի վարքագիծը ենթակլասի համար:

Java-ի օրինակով:

class Animal {
    void sound() {
        System.out.println("Որոշ ձայն");
    }

    void sound(String mood) { // ավելցուկային
        System.out.println("Ձայն երբ " + mood);
    }
}

class Dog extends Animal {
    @Override
    void sound() { // վերագրում
        System.out.println("Շան ձայն");
    }
}

Այստեղ, sound()Dog դասում վերագրում է բազային դասի մեթոդին, իսկ sound(String mood)-ը նույն դասում ավելցուկային է։