[Java] Surcharge

Surcharge

En Java, même les méthodes qui fonctionnent de la même manière ont des nombres d'arguments différents et vous devez créer des méthodes qui correspondent au nombre d'arguments. À ce stade, comment donner le nom de la méthode? Bien sûr, il est possible de les nommer de manière à ce qu'il n'y ait pas de doublons, mais s'il y a autant d'instructions que d'arguments, il sera difficile de s'en souvenir. ** Overload ** peut aider dans ce cas.

Méthodes du même nom

Voir le programme ci-dessous. La méthode max () renvoie la plus grande des deux variables de type int.

class Max{
  static int max(int x, int y){
    if(x>y)
      return x;
    return y;
  }
}

Pensez à l'étendre pour en renvoyer une plus grande pour une variable de type double. Nous allons créer une nouvelle méthode qui correspond à l'argument de type double, mais la clé est ce qu'il faut faire avec le nom de la méthode à ce moment. En Java, les noms de méthodes peuvent être librement attribués par le programmeur en utilisant les mêmes règles que les noms de variables. Le traitement des valeurs de type int et le traitement des valeurs de type double ont différents types d'argument et types de retour, il n'est donc pas étrange de distinguer le nom de la méthode de doubleMax () etc. Cependant, du point de vue de l'utilisation de la méthode, le processus consistant à «renvoyer la plus grande valeur parmi les arguments même si le nombre est différent» ne change pas, alors donnez différents noms en fonction du nombre d'arguments et du type de type. Il devrait être plus facile à utiliser s'ils portent le même nom, même s'ils ont des nombres d'arguments différents, plutôt que de les créer et de les sélectionner de manière appropriée. La définition d'une méthode avec le même nom avec un nombre différent d'arguments s'appelle ** overload **. La surcharge élimine le besoin pour le programmeur de trouver la méthode qui correspond à l'argument, et permet au programme d'être écrit en se concentrant sur la «fonction» de la méthode elle-même.

class Max{
  static int max(int a, int b){
    if(a>b)
      return a;
    return b;
  }
  static double max(double a, double b){
    if(a>b)
      return a;
    return b;
  }
}

Recommended Posts

[Java] Surcharge
[Java] Surcharge / Remplacer / Héritage
Surcharge
Java
Java
[Java] Surcharge et remplacement
Apprendre Java (0)
Étudier Java ―― 3
Java protégé
[Java] Annotation
Module [Java]
Tableau Java
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Méthodes Java
Méthode Java
java (constructeur)
Tableau Java
[Java] ArrayDeque
java (remplacement)
Journée Java 2018
Chaîne Java
java (tableau)
Java statique
Sérialisation Java
java débutant 4
JAVA payé
Glossaire: surcharge
Étudier Java ―― 4
Java (ensemble)
tri shell java
[Java] compareTo
Étudier Java -5
java (interface)
Mémorandum Java
Tableau Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
framework java
Fonctionnalités Java
[Java] Héritage
FastScanner Java
Fonctionnalités Java
java débutant 3
Mémo Java
java (encapsulation)
Héritage Java
Les bases de Java
Décompiler Java
[Java] Annotation
note java
java débutant
Java (add2)
JAVA (Carte)
interface [java]
Collection Java9
Les bases de Java