2019-10-27 15:58:25 +00:00
parent a01d16af92
commit b909c2c72b
2 changed files with 20 additions and 8 deletions

@@ -0,0 +1,20 @@
Methoden mit gleichem Namen, aber unterschiedlicher Parameterliste, nennt man überladen. Es wird dann zur Laufzeit die passende gewählt.
**Vorsicht:** Unter Umständen, z.B. bei unterschiedlichen Sichtbarkeiten in Vererbungshierarchien, sind Methoden evtl. nicht überladen sondern schlicht neu definiert. Es wird dann ggf. eine andere Methode gewählt oder Code ist nicht kompilierbar.
### Regeln Überladen
Methoden müssen unterschiedlich genug sein, ansonsten Compilefehler. Folgende Regeln gelten:
-
-
- Konstruktoren können auch überladen sein, aber nicht überschrieben
### Regeln Überschreiben
Methoden in Unterklassen können solche in Oberklassen überschreiben. Folgende Regeln gelten:
- `final`-Methoden können nicht überschrieben werden
- Nur vererbte Methoden können überschrieben werden, private also nicht. Stattdessen wäre dies dann schlicht eine andere Methode.
- Selbe Argumentliste
- Selber Rückgabewert oder Unterklasse davon
- Selbe oder weniger restriktive Sichtbarkeit. Restriktiver nicht erlaubt.
- Kann weniger oder eingeschränktere checked Exceptions werfen, aber nicht mehr oder breitere. Unchecked beliebig.

@@ -1,8 +0,0 @@
Methoden mit gleichem Namen, aber unterschiedlicher Parameterliste, nennt man überladen. Es wird dann zur Laufzeit die passende gewählt.
**Vorsicht:** Unter Umständen, z.B. bei unterschiedlichen Sichtbarkeiten in Vererbungshierarchien, sind Methoden evtl. nicht überladen sondern schlicht neu definiert. Es wird dann ggf. eine andere Methode gewählt oder Code ist nicht kompilierbar.
### Regeln
Methoden müssen unterschiedlich genug sein. Folgende Regeln gelten:
-