[Java] Héritage de classe

Lors de la création d'une nouvelle classe, si vous pouvez utiliser la classe existante, vous pouvez créer la classe efficacement. Ceci peut être réalisé par "héritage" Java.

Qu'est-ce que l'héritage de classe?

Par exemple, lors de la création d'un nouveau produit en améliorant un produit du commerce, une méthode consiste à créer un nouveau dessin de conception à partir de rien, mais le dessin de conception du nouveau produit est amélioré en fonction du dessin de conception du commerce. Lorsque vous créez, il vous suffit de concevoir les modifications et les ajouts afin de pouvoir créer efficacement le dessin de conception. Il en va de même pour la création de classes Java. Vous pouvez créer une nouvelle classe en étendant uniquement la partie à étendre ou à ajouter lors de l'extension de la fonction d'une classe existante ou de l'ajout d'une autre fonction. Cela s'appelle ** héritage **, et les classes existantes pour l'héritage sont appelées ** superclasse ** ou ** classe parent **. D'autre part, les nouvelles classes sont appelées ** sous-classes ** ou ** classes enfants ** ou ** classes dérivées **. Vous pouvez créer plusieurs classes enfants à partir d'une classe parent. Cependant, une classe enfant ne peut pas avoir plusieurs classes parentes. En Java, il n'est pas possible de créer un nouveau dessin de conception en mélangeant deux ou plusieurs dessins de conception. Ceci est parfois appelé «héritage unique».

Héritage

Utilisez les extensions pour l'héritage de classe.

le nom de la classe étend le nom de la super classe{
Variables / méthodes d'instance
}

Héritage et constructeur

L'héritage n'hérite pas uniquement du constructeur. Cela est dû au fait que l'objet à initialiser peut avoir été ajouté ou supprimé dans la sous-classe ou que le type a changé. Même si le constructeur est le même dans la superclasse, il doit être écrit dans la sous-classe. super() En créant un nouveau constructeur lors de l'héritage, le constructeur peut être réutilisé, mais il est gênant d'écrire un constructeur avec le même contenu dans la sous-classe et l'avantage de l'héritage est divisé par deux. Je vais finir. Hériter des parties communes dans le constructeur, telles que l'initialisation de la partie héritée à l'aide du constructeur de superclasse, puis l'initialisation de la partie ajoutée dans la sous-classe, et uniquement les différentes parties dans le constructeur de la sous-classe. Ce serait pratique si vous pouviez le décrire. En Java, cela peut être réalisé en utilisant ** super **. super appelle le constructeur de la superclasse de cette classe. Utilisez toujours ce super pour appeler quel que soit le nom de la super classe. Veuillez noter que même si vous entrez le nom de la super classe réelle, elle ne fonctionnera pas en tant que constructeur. De plus, même s'il y a un argument, vous pouvez appeler le constructeur de super classe correspondant en écrivant l'argument entre parenthèses de super (). Notez que ce super () doit être écrit au tout début du constructeur de la sous-classe pour que le constructeur exécute d'abord le constructeur de la superclasse, puis effectue un traitement spécifique à la sous-classe. De plus, même si vous ne spécifiez pas un appel au constructeur de super classe par super (), si la classe n'a pas de constructeur sans arguments, le compilateur se référera automatiquement au constructeur de super classe pour créer le constructeur.

Redéfinir: remplacer

L'héritage hérite de toutes les propriétés de la superclasse et, dans certains cas, hérite de méthodes inutiles. Dans un tel cas, redéfinissons la méthode du côté héréditaire. Cette redéfinition est appelée ** override **. Attention à ne pas le confondre avec "surcharge", qui porte un nom similaire. Le remplacement remplace la méthode déjà définie par celle décrite dans la sous-classe, de sorte que la méthode précédente n'est plus utilisée. La manière de remplacer n'est pas différente de la définition d'une méthode normale. Cependant, pour éviter le remplacement accidentel d'une méthode de super classe mais en définissant une autre méthode, il est clairement indiqué en écrivant «@ Override» que la méthode est en train de remplacer. Faire. Cela s'appelle une annotation de remplacement et peut empêcher l'échec du remplacement.

Recommended Posts

[Java] Héritage de classe
[Java] Héritage
Héritage Java
Héritage Java
java (héritage)
[Java] Qu'est-ce que l'héritage de classe?
Méthodes de classe Java
classe Scanner java
Classe Java HashMap
À propos de l'héritage de classe.
java (classe abstraite)
[Java] Classe imbriquée
Classe anonyme Java
À propos de la classe Java
À propos de l'héritage Java
[java] Classe abstraite
[Java] Classe d'objets
Classe locale Java
[Java] Surcharge / Remplacer / Héritage
À propos de la division de classe (Java)
À propos de la classe Java StringBuilder
[Java] À propos de la classe Singleton
Résumer l'héritage Java (Java Silver 8)
Examen de la classe interne Java
Champ de type de classe Java
À propos de l'héritage (Java Silver)
Programmation Java (méthode de classe)
À propos de la classe Java String
Programmation Java (structure de classe)
[Java] Mémo d'héritage implicite
Mémo d'apprentissage Java (héritage)
À propos de la classe abstraite de Java
Contenu d'apprentissage de base Java 6 (héritage / classe abstraite / interface)
Comparaison Java et Swift (3) Implémentation de classe / héritage de classe / conception de classe
[Java] Référence de classe de wrapper Integer
Résumé d'héritage avancé, interface -java
Sous-chaîne de mémo Java (classe standard)
Héritage de l'interface de l'historique d'apprentissage JAVA
Astuces Java - Modificateurs de classe StaticUtility
Héritage
Écrire l'héritage de classe dans Ruby
Sous-chaîne de classe Java inflexible String
Longueur du mémo Java (classe standard)
Héritage
[Implémentation] Notes de classe de processus java
À propos des types de chargeur de classe Java
Comment utiliser la classe Java
[Java] Comparateur de la classe Collection
Définition et instanciation de classe Java
Java
Mémo d'apprentissage Java (classe abstraite)
Java à partir de débutant, héritage
Résumé de la classe Java Math
java (héritage du principe is-a)
Méthode de classe variable de classe Java
Java
[Notions de base Java] Qu'est-ce que la classe?
Jour 2 orienté objet Muscle Java ~ Héritage ~
Pourquoi les variables de classe sont-elles nécessaires? [Java]
[Java] Syntaxe orientée objet - Méthode / argument de classe