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

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

L'héritage est une fonction permettant d'écrire un traitement spécifique à une classe enfant tout en héritant d'un traitement commun en créant des classes enfants (sous-classes) basées sur la classe parente (super-classe). Avec l'héritage, vous n'avez pas besoin d'écrire des programmes similaires encore et encore pour rationaliser votre travail et rendre l'ensemble du code source plus facile à lire.

Comment hériter des classes Java

Lors de l'héritage, ajoutez "extend" après la déclaration de classe et spécifiez le nom de la classe parente comme source d'héritage. Cependant, une seule classe peut être héritée de Java. Il n'est pas possible d'hériter de deux classes en même temps (héritage multiple interdit).

nom de classe de classe étend le nom de classe d'origine{
Membre "Différence" avec classe parent
}

Lorsque vous utilisez la méthode ou le constructeur de la classe héritée, utilisez "super" pour y accéder et y faire référence.

nom de classe de classe étend le nom de classe d'origine(argument) {
  //Appelez le constructeur de la classe parent
  super(argument);
  //Appelez la méthode de la partie d'instance parent
  super.Nom de la méthode(argument);
}

Remplacement de méthode

Override consiste à remplacer le contenu de la méthode définie dans la classe parente. Il est utilisé lorsque vous souhaitez modifier un peu le contenu de la méthode définie dans la classe parente. La condition de remplacement est que le nom de la méthode, la valeur de retour et les arguments soient identiques.

[Classe parente]
    public void output() {
      System.out.println("Héritage");
    }
[Classe enfant]
    public void output() {
      System.out.println("passer outre");
    }
  

C'est un remplacement pratique car vous pouvez librement changer la méthode que vous voulez changer tout en réutilisant la classe parente (super classe), mais il y a quelques règles que vous devez suivre lors de son utilisation. Premièrement, si une méthode sur la classe parente (super-classe) a le modificateur final, la classe enfant (sous-classe) ne peut pas remplacer cette méthode. Vous devez également être conscient que les variables et les méthodes avec le modificateur private dans la superclasse ne sont pas disponibles pour les sous-classes.

Différence de surcharge

La surcharge est un terme similaire au remplacement. C'est souvent faux, alors je vais l'expliquer brièvement. La surcharge est la déclaration de plusieurs «méthodes avec le même nom» dans une classe. La condition de surcharge est que ➀ le nom de la méthode est le même ➁ le type, le nombre et l'ordre des arguments sont différents.

  public void output() {}
  public void output(String str) {}
  public void output(String str, int i) {}
  public void output(int i, String str) {}

Résumé

En utilisant l'héritage de classe, la classe enfant n'a pas besoin de réécrire les variables membres et les méthodes membres de la classe parent. Cela rendra également le code plus facile à lire et à réparer et à maintenir ultérieurement.

Recommended Posts

[Java] Qu'est-ce que l'héritage de classe?
[Notions de base Java] Qu'est-ce que la classe?
[Java] Héritage de classe
Qu'est-ce que 'java
Qu'est-ce que Java <>?
Qu'est-ce que 'java
Qu'est-ce que l'encapsulation Java?
Qu'est-ce qu'une classe en langage Java (2 /?)
Qu'est-ce que la technologie Java?
Qu'est-ce que Java API-java
[Java] Qu'est-ce que flatMap?
[Java] Qu'est-ce que ArrayList?
Qu'est-ce que l'assertion Java? Résumé.
Qu'est-ce qu'une classe wrapper?
Qu'est-ce que la classe BufferedReader?
Qu'est-ce qu'une collection Java?
[Java] Qu'est-ce que jaee j2ee?
Qu'est-ce que l'analyse Java Escape?
[Java] Héritage
Héritage Java
Héritage Java
java (héritage)
Qu'est-ce que JVM (Java Virtual Machine)?
Qu'est-ce que Thread Safe (avec Java)
[Java] Qu'est-ce que l'exception de modification simultanée?
Qu'est-ce qu'une expression lambda (Java)
Qu'est-ce que la classe LocalDateTime? [Java débutant] -Date et classe d'heure-
Qu'est-ce que Cubby
Méthodes de classe Java
Qu'est-ce qui est nul? ]
classe Scanner java
Qu'est-ce que Keycloak
Classe Java HashMap
Qu'est-ce que maven?
Qu'est-ce que Jackson?
À propos de l'héritage de classe.
java (classe abstraite)
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?
Quelle est la meilleure lecture de fichier (Java)
Qu'est-ce que les paramètres
Qu'est-ce que SLF4J?
[Java] Classe imbriquée
Qu'est-ce que Java et l'environnement de développement (MAC)
Classe anonyme Java
Qu'est-ce que la façade? ??
Qu'est-ce que POJO
Quelle est la méthode principale en Java?
Qu'est-ce que centOS
Qu'est-ce que RubyGem?
À propos de l'héritage Java
Qu'est-ce que before_action?
Qu'est-ce que Docker
[java] Classe abstraite
[Java] Classe d'objets