Sobes.tech
Junior

Kada se metoda smatra prepisanom (overriding)?

sobes.tech АИ

Одговор од АИ

Metoda se smatra prepisanom (overriding) u objektno-orijentisanom programiranju kada:

  1. Definisana je u podklasi sa istim imenom, tipom povratne vrednosti i listom parametara (potpisom) kao i metoda u nadklasi.
  2. Metoda nadklase nije private.
  3. Metoda u podklasi nema stroži modifikator pristupa od one u nadklasi.
  4. 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");
    }
}