Postscript 2020/3/15 ・ On m'a dit dans les commentaires que le polymorphisme est une façon de penser plus abstraite, j'ai donc corrigé la relation avec la surcharge.
Cet article est un mémorandum. Bien qu'il s'agisse d'un contenu de niveau de référence, le code à publier dans cet article est ~~ ** L'erreur ** est le centre. Ceci est dans le but de poster la partie erronée pendant le codage réel et de l'afficher pour une auto-réflexion ~~. De plus, je n'aborderai pas la partie profonde ici parce que je vais l'examiner plus tard tout en étudiant les questions d'examen Java Silver.
Langue: Java11, JDK13.0.2 Environnement d'exploitation: Windows 10
Dans la classe, il existe une règle selon laquelle les méthodes portant le même nom peuvent coexister. Même si vous augmentez le nombre d'arguments à gérer dans une méthode sans limite, il est difficile de déclarer tous les arguments à la fois, il est donc plus facile pour l'utilisateur de classe de les préparer séparément pour les fonctions nécessaires.
Cat.java
getCatStatus(double weight,double height){
(Abréviation)
}
getCatStatus(int age,int number){
(Abréviation)
}
getCatStatus(String name,String voice){
(Abréviation)
}
À ce stade, en fonction de la spécification de l'argument lors de l'utilisation de getCatStatus ()
, vous pouvez sélectionner la méthode correspondante parmi les méthodes du même nom et l'utiliser.
Cette fonction est appelée ** surcharge **.
En guise de mise en garde, ** il est nécessaire de rendre le type et le nombre d'arguments de chaque méthode avec le même nom différents **.
Cela n'inclut pas les différences dans les types de retour, vous ne pouvez donc pas créer une méthode qui nécessite les mêmes arguments avec différents ** modificateurs **.
Lors de la préparation d'une classe et de l'écriture d'une méthode, la valeur initiale du champ de classe peut être définie immédiatement après la création de l'objet de la classe.
Cat.java
class Cat
{
private double weight;
private int age;
public Cat()
{
weight = 1.0;
age = 0;
}
}
Si vous écrivez une méthode avec exactement le même nom que le nom de la classe, vous pouvez stocker automatiquement la valeur initiale lorsqu'un objet est créé par new
en utilisant la classe.
À propos de la fonction gérée dans la surcharge, qui est une méthode du même nom mais qui peut avoir différentes fonctions selon l'argument. Il s'agit d'un mécanisme de définition multiple des fonctions, et en particulier du ** polymorphisme ** dans lequel le comportement de la fonction change selon le type d'argument est appelé ** polymorphisme ad hoc **.
Remarque: le polymorphisme Adhook est l'un des ** Polymorphisme **
J'écris et compile autant que possible des variables et des expressions moi-même, donc si je veux les citer complètement, je vais les décrire.
Easy Java 7ème édition Java SE11 Silver Problem Collection (communément appelé Kuromoto)
Recommended Posts