Junior
Wann gilt eine Methode als überschrieben (overriding)?
sobes.tech KI
Antwort von AI
Die Methode gilt in der objektorientierten Programmierung als überschrieben (overriding), wenn:
- Sie in einer Unterklasse mit demselben Namen, Rückgabetyp und Parameterliste (Signatur) wie die Methode in der Oberklasse definiert ist.
- Die Methode der Oberklasse nicht
privateist. - Die Methode in der Unterklasse keinen restriktiveren Zugriffsmodifikator hat als die Methode in der Oberklasse.
- Im Falle von Ausnahmen darf die überschreibende Methode keine überprüften Ausnahmen ([checked exceptions]) deklarieren, die allgemeiner sind als die in der überschriebenen Methode deklarierten.
Beim Aufruf der überschriebenen Methode an einem Objekt der Unterklasse wird die Version der Methode aus der Unterklasse ausgeführt. Dies ist ein Beispiel für Polymorphismus zur Laufzeit.
Beispiel in Java:
// java
class Animal {
public void makeSound() {
System.out.println("Generisches Tiergeräusch");
}
}
class Dog extends Animal {
@Override // Die Annotation @Override bestätigt, dass die Methode überschrieben wurde
public void makeSound() {
System.out.println("Wuff Wuff");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Miau");
}
}