Kann eine Unterklasse eine Methode überschreiben und unterschiedliche Parameter haben?
Ich will eine Methode in mehrere Unterklassen, die im wesentlichen eine bestimmte Sache getan (wie immer Benutzer-info), aber deklariert ist (und hat andere Parameter und Definitionen als) der main-Klasse. Ist das möglich?
Ich weiß, das ist nicht wirklich überschreiben, aber kann das getan werden, oder ist es nicht ein geeigneter Weg, um Struktur-Methoden?
- Wenn die neue Methode unterschiedliche Parameter haben, dann ist es überladen, nicht zu überschreiben. Eine Unterklasse kann das tun, es gewann ' T werden keine Probleme.
- Pflege zu kommentieren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie tun möchten, ist aufgerufen, das überladen einer Methode. Es ist machbar und Häufig Auftritt. Spielen mit der Geige hier. Java ähnlich ist.
Können Sie mehrere Versionen einer Methode mit dem gleichen Namen mit einer unterschiedlichen Anzahl von Parametern. Sie können alle diese in der main/parent-Klasse hinzu, in den neueren Versionen in den Unterklassen nur. Es gibt keine Beschränkung auf, dies zu tun.
Wie gesagt in den Kommentaren und die anderen beantworten, definieren Sie eine Methode in einer Subklasse mit demselben Namen wie eine Methode in der Oberklasse, aber Sie können nicht außer Kraft setzen, genau. Beide Verfahren werden zwar immer noch vorhanden, so nennt man überlastung. In Java und in C Sharp es funktioniert so ziemlich das gleiche; Sie definieren eine neue Methode mit verschiedenen Parametern. Sie nicht ändern Sie einfach die return-Typ, aber. Die Parameter der Methoden müssen unterschiedlich sein, um eine überlastung. Hier ist ein Artikel über das überladen vs. überschreiben in Java.