Sobes.tech
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:

  1. Sie in einer Unterklasse mit demselben Namen, Rückgabetyp und Parameterliste (Signatur) wie die Methode in der Oberklasse definiert ist.
  2. Die Methode der Oberklasse nicht private ist.
  3. Die Methode in der Unterklasse keinen restriktiveren Zugriffsmodifikator hat als die Methode in der Oberklasse.
  4. 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");
    }
}