Junior
Kada se metoda smatra prepisanom (overriding)?
sobes.tech АИ
Одговор од АИ
Metoda se smatra prepisanom (overriding) u objektno-orijentisanom programiranju kada:
- Definisana je u podklasi sa istim imenom, tipom povratne vrednosti i listom parametara (potpisom) kao i metoda u nadklasi.
- Metoda nadklase nije
private. - Metoda u podklasi nema stroži modifikator pristupa od one u nadklasi.
- U slučaju izuzetaka, prepisana metoda ne može deklarisati proverene izuzetke ([checked exceptions]) koji su opšti od onih deklarisanih u prepisanoj metodi.
Prilikom poziva prepisane metode na objektu podklase, izvršava se verzija metode iz podklase. Ovo je primer polimorfizma u vreme izvršenja.
Primer u Javi:
// java
class Animal {
public void makeSound() {
System.out.println("Opšti zvuk životinje");
}
}
class Dog extends Animal {
@Override // Anotacija @Override potvrđuje da je metoda prepisana
public void makeSound() {
System.out.println("Vau vau");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Mijau");
}
}