Eine Unterklasse kann einen von ihrer Oberklasse definierten Konstruktor in der Form super(parameter-list); aufrufen.
parameter-list muss die vom Superklassenkonstruktor benötigten Parameter angeben.
Die erste Anweisung, die im Konstruktor einer Unterklasse ausgeführt wird, muss immer super(); (oder super(parameter-list); wenn es notwendig ist, Parameter zu übergeben).
Das Folgende ist eine Version von TwoDShape mit einem Konstruktor, der Breite und Höhe initialisiert.
Die Triangle-Unterklasse verwendet super(w, h), um den Konstruktor der TwoDShape-Superklasse aufzurufen und die Werte von w und h zu übergeben.
Der Konstruktor von TwoDShape initialisiert Breite und Höhe auf diese Werte.
Die Triangle-Unterklasse muss Breite und Höhe nicht initialisieren, sondern nur den Stilwert, der für sie exklusiv ist.
Die Verwendung von super( ) ermöglicht es der Oberklasse (TwoDShape), nach Wunsch ihr eigenes Unterobjekt zu erstellen und Funktionalität hinzuzufügen, ohne dass die Unterklasse die Details kennen muss.
Jede von der Superklasse definierte Konstruktorform kann mit super( ) aufgerufen werden. Der ausgeführte Konstruktor ist derjenige, dessen Argumente mit den angegebenen Parametern übereinstimmen.
Das folgende Beispiel zeigt erweiterte Versionen von TwoDShape und Triangle mit Standardkonstruktoren und Konstruktoren, die ein Argument annehmen.
Aufruf an den Superklassen-Konstruktor: Wenn eine Unterklasse super( ) aufruft, ruft sie den Konstruktor ihrer unmittelbaren Superklasse auf.
Referenz auf unmittelbare Superklasse: super( ) verweist immer auf die Superklasse direkt über der Klasse, die sie aufruft, auch in mehrstufigen Hierarchien.
Erste Anweisung im Konstruktor: super( ) muss die erste Anweisung sein, die im Konstruktor einer Unterklasse ausgeführt wird. Dadurch wird sichergestellt, dass der Oberklassenteil des Objekts initialisiert wird, bevor der Unterklassenkonstruktor seinen eigenen Code ausführt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3