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.