[Java] Klassenvererbung

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.

Was ist Klassenvererbung?

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.

Erbe

Die Verwendung wird für die Klassenvererbung erweitert.

Klasse Klassenname erweitert Superklassennamen{
Instanzvariablen / -methoden
}

Vererbung und Konstruktor

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.

Neu definieren: Überschreiben

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

[Java] Klassenvererbung
[Java] Vererbung
Java-Vererbung
Java-Vererbung
Java (Vererbung)
[Java] Was ist Klassenvererbung?
Java-Klassenmethoden
Java-Scanner-Klasse
Java HashMap-Klasse
Informationen zur Klassenvererbung.
Java (abstrakte Klasse)
[Java] Verschachtelte Klasse
Anonyme Java-Klasse
Über die Java-Klasse
Über Java-Vererbung
[Java] Abstrakte Klasse
[Java] Objektklasse
Lokale Java-Klasse
[Java] Überladen / Überschreiben / Vererbung
Über die Klassenteilung (Java)
Informationen zur Java StringBuilder-Klasse
[Java] Über Singleton Class
Fassen Sie die Java-Vererbung zusammen (Java Silver 8)
Überprüfung der Java-Innenklasse
Feld für den Java-Klassentyp
Informationen zur Vererbung (Java Silver)
Java-Programmierung (Klassenmethode)
Informationen zur Java String-Klasse
Java-Programmierung (Klassenstruktur)
[Java] Implizites Vererbungsprotokoll
Java-Lernnotiz (Vererbung)
Über die abstrakte Klasse von Java
Java Basic Learning Content 6 (Vererbung / Abstrakte Klasse / Schnittstelle)
Java- und Swift-Vergleich (3) Klassenimplementierung / Klassenvererbung / Klassendesign
[Java] Integer-Wrapper-Klassenreferenz
Zusammenfassung der erweiterten Vererbung, Schnittstelle -java
Java-Memo-Teilzeichenfolge (Standardklasse)
Vererbung der JAVA-Lernverlaufsschnittstelle
Java-Tipps - Modifikatoren der StataticUtility-Klasse
Erbe
Schreiben Sie die Klassenvererbung in Ruby
Java unflexibler String-Klassen-Teilstring
Länge des Java-Memos (Standardklasse)
Erbe
[Implementierung] Java Prozessklassennotizen
Informationen zu Java Class Loader-Typen
Verwendung der Java-Klasse
[Java] Komparator der Collection-Klasse
Definition und Instanziierung von Java-Klassen
Java
Java-Lernnotiz (abstrakte Klasse)
Java ab Anfänger, Vererbung
Zusammenfassung der Java Math Klasse
Java (Vererbung von is-ein Prinzip)
Java-Klasse Variable Klassenmethode
Java
[Java-Grundlagen] Was ist Klasse?
Muskel Java Objektorientierter Tag 2 ~ Vererbung ~
Warum werden Klassenvariablen benötigt? [Java]
[Java] Objektorientierte Syntaxklassenmethode / Argument