Junior
Wanneer wordt een methode als overschreven (overriding) beschouwd?
sobes.tech AI
Antwoord van AI
De methode wordt beschouwd als overschreven (overriding) in objectgeoriënteerd programmeren wanneer:
- Het is gedefinieerd in een subclass met dezelfde naam, returntype en parameterlijst (handtekening) als de methode in de superclass.
- De methode van de superclass is niet
private. - De methode in de subclass heeft geen restrictievere toegangsmodifier dan de methode in de superclass.
- In geval van uitzonderingen, mag de overschreven methode geen gecontroleerde uitzonderingen ([checked exceptions]) declareren die algemener zijn dan die gedeclareerd in de overschreven methode.
Bij het aanroepen van de overschreven methode op een object van de subclass, wordt de versie van de methode uit de subclass uitgevoerd. Dit is een voorbeeld van polymorfisme tijdens runtime.
Voorbeeld in Java:
// java
class Animal {
public void makeSound() {
System.out.println("Algemeen dierengeluid");
}
}
class Dog extends Animal {
@Override // De @Override annotatie bevestigt dat de methode overschreven is
public void makeSound() {
System.out.println("Waf waf");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Miauw");
}
}