Sobes.tech
Junior — Middle

Kā atšķirt metodes pārlādi no tās pārrakstīšanas objektorientētajā programmēšanā?

sobes.tech AI

Atbilde no AI

Metodes pārlādēšana (overloading) un metodes pārrakstīšana (overriding) ir dažādi jēdzieni objektorientētajā programmēšanā:

  • Metodes pārlādēšana (overloading): vienā klasē ir vairākas metodes ar to pašu nosaukumu, bet dažādiem parametriem (tipu, skaitu). Tas ļauj izsaukt metodi ar dažādiem argumentiem.

  • Metodes pārrakstīšana (overriding): kad apakšklase nodrošina savu īstenojumu jau definētai metodei, kas ir noteikta pamatklasē ar to pašu signatūru (nosaukumu un parametriem). Tas ļauj mainīt metodes uzvedību apakšklasē.

Java piemērs:

class Animal {
    void sound() {
        System.out.println("Kādi skaņas");
    }

    void sound(String mood) { // pārlādēšana
        System.out.println("Skaņa kad " + mood);
    }
}

class Dog extends Animal {
    @Override
    void sound() { // pārrakstīšana
        System.out.println("Bļāviens");
    }
}

Šeit sound() Dog klasē pārraksta pamatklases metodi, bet sound(String mood) ir pārlādēšana tajā pašā klasē Animal.