Wenn Sie beim Erstellen einer neuen Klasse die vorhandene Klasse verwenden können, können Sie die Klasse effizient erstellen. Dies kann durch Java "Vererbung" erreicht werden.
Wenn Sie beispielsweise ein neues Produkt durch Verbessern eines Standardprodukts herstellen, besteht eine Methode darin, eine neue Konstruktionszeichnung aus dem Nichts zu erstellen. Die Konstruktionszeichnung des neuen Produkts wird jedoch basierend auf der Standard-Konstruktionszeichnung verbessert. Beim Erstellen müssen Sie nur die Änderungen und Ergänzungen entwerfen, damit Sie die Entwurfszeichnung effizient erstellen können. Gleiches gilt für das Erstellen von Java-Klassen. Sie können eine neue Klasse erstellen, indem Sie nur den Teil erweitern, der erweitert oder hinzugefügt werden soll, wenn Sie die Funktion einer vorhandenen Klasse erweitern oder eine andere Funktion hinzufügen. Dies wird als ** Vererbung ** bezeichnet, und die vorhandenen Vererbungsklassen werden als ** Oberklasse ** oder ** übergeordnete Klasse ** bezeichnet. Andererseits werden neue Klassen als ** Unterklassen ** oder ** untergeordnete Klassen ** oder ** abgeleitete Klassen ** bezeichnet. Sie können mehrere untergeordnete Klassen aus einer übergeordneten Klasse erstellen. Eine untergeordnete Klasse kann jedoch nicht mehrere übergeordnete Klassen haben. In Java ist es nicht möglich, eine neue Konstruktionszeichnung durch Mischen von zwei oder mehr Konstruktionszeichnungen zu erstellen. Dies wird manchmal als "Einzelvererbung" bezeichnet.
Die Verwendung wird für die Klassenvererbung erweitert.
Klasse Klassenname erweitert Superklassennamen{
Instanzvariablen / -methoden
}
Die Vererbung erbt nicht nur den Konstruktor. Dies liegt daran, dass das zu initialisierende Objekt möglicherweise in der Unterklasse hinzugefügt oder entfernt wurde oder sich der Typ geändert hat. Auch wenn der Konstruktor in der Oberklasse identisch ist, muss er in der Unterklasse geschrieben werden. super() Durch das Erstellen eines neuen Konstruktors beim Erben kann der Konstruktor erneut verwendet werden. Es ist jedoch schwierig, einen Konstruktor mit demselben Inhalt in die Unterklasse zu schreiben, und der Vorteil der Vererbung wird halbiert. Ich werde am Ende. Erben Sie die gemeinsamen Teile im Konstruktor, z. B. das Initialisieren des geerbten Teils mit dem Konstruktor der Oberklasse und das anschließende Initialisieren des hinzugefügten Teils in der Unterklasse und nur der verschiedenen Teile im Konstruktor der Unterklasse. Es wäre praktisch, wenn Sie es beschreiben könnten. In Java kann dies mit ** super ** erreicht werden. super ruft den Konstruktor der Oberklasse dieser Klasse auf. Verwenden Sie dieses Super, um den Namen der Superklasse aufzurufen. Bitte beachten Sie, dass selbst wenn Sie den Namen der tatsächlichen Superklasse eingeben, diese nicht als Konstruktor funktioniert. Auch wenn es ein Argument gibt, können Sie den entsprechenden Superklassenkonstruktor aufrufen, indem Sie das Argument in die Klammern von super () schreiben. Beachten Sie, dass dieses super () am Anfang des Konstruktors der Unterklasse geschrieben werden muss, um zuerst den Konstruktor der Oberklasse auszuführen und dann eine unterklassenspezifische Verarbeitung durchzuführen. Auch wenn Sie keinen Aufruf des Superklassenkonstruktors durch super () angeben und die Klasse keinen Konstruktor ohne Argumente hat, verweist der Compiler automatisch auf den Superklassenkonstruktor, um den Konstruktor zu erstellen.
Die Vererbung erbt alle Eigenschaften der Oberklasse und in einigen Fällen unnötige Methoden. In einem solchen Fall definieren wir die Methode auf der erbenden Seite neu. Diese Neudefinition wird als ** Überschreiben ** bezeichnet. Achten Sie darauf, es nicht mit "Überladung" zu verwechseln, die einen ähnlichen Namen hat. Die Überschreibung ersetzt die bereits definierte Methode durch die in der Unterklasse beschriebene, sodass die vorherige Methode nicht mehr verwendet wird. Die Art des Überschreibens unterscheidet sich nicht von der Definition einer normalen Methode. Um jedoch ein versehentliches Überschreiben einer Superklassenmethode zu verhindern, aber eine andere Methode zu definieren, wird durch Schreiben von "@ Override" klar angegeben, dass die Methode überschrieben wird. Machen. Dies wird als Überschreibungsanmerkung bezeichnet und kann einen Überschreibungsfehler verhindern.
Recommended Posts