Junior
Kad metode tiek uzskatīta par pārrakstītu (overriding)?
sobes.tech AI
Atbilde no AI
Objektorientētajā programmēšanā metode uzskatāma par pārrakstītu (overriding), ja:
- Tā ir definēta apakšklasē ar to pašu nosaukumu, atgriešanas tipu un parametru sarakstu (parakstu), kā superklases metodē.
- Superklases metode nav
private. - Apakšklases metode nav stingrāka piekļuves modifikatora nekā superklases metode.
- Izņēmumu gadījumā, pārrakstītā metode nevar deklarēt pārbaudāmas izņēmumu ([checked exceptions]), kas ir vispārīgākas nekā tās, kas deklarētas pārrakstītajā metodē.
Kad tiek izsaukta pārrakstītā metode uz apakšklases objekta, tiek izpildīta apakšklases metode. Tas ir piemērs polimorfismam izpildes laikā.
Java piemērs:
// java
class Animal {
public void makeSound() {
System.out.println("Vispārīgs dzīvnieka skaņa");
}
}
class Dog extends Animal {
@Override // @Override anotācija apstiprina, ka metode ir pārrakstīta
public void makeSound() {
System.out.println("Vau vau");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Miau");
}
}