Junior
Millal toimub meetodi (overriding) ülekirjutamine programmeerimises?
sobes.tech AI
Vastus AI-lt
Meetodite ülekirjutamine toimub pärilikkuse ajal, kui alampereklass pakub oma versiooni meetodist, mis on juba defineeritud vanemklass. Meetodi signatuur (nimi, tagastatava tüüpi ja argumentide arv/tüübid) peab vastama vanemklassi meetodile. See võimaldab polümorfismi töötada: alampereklaasi objekt, mida kasutatakse vanemklassi objektina, kutsub esile oma spetsiifilise meetodi rakenduse.
Kasutusnäited:
- Päriliku käitumise loogika muutmine.
- Pakub spetsiifilist alampereklaasi rakendust üldisele liidesele.
Põhipunktid:
- Nõutav on is-a suhe (pärilikkus).
- Meetodi signatuur peab vastama.
- Pääsukorraldus võib olla sama või vähem rangem kui vanemmeetodi.
- Ei saa üle kirjutada
finalvõistaticmeetodeid (enamikus keeltes).
// Näide Java
class Animal {
public void makeSound() {
System.out.println("Üldine looma hääl");
}
}
class Dog extends Animal {
@Override // Anotatsioon näitab ülekirjutamist
public void makeSound() {
System.out.println("Vau!");
}
}
// Kasutamine
// Animal myAnimal = new Animal();
// myAnimal.makeSound(); // Väljund: Üldine looma hääl
//
// Animal myDog = new Dog();
// myDog.makeSound(); // Väljund: Vau! (kutsub esile ülekirjutatud meetodi)