Nachtrag 2020/3/15 ・ In den Kommentaren wurde mir gesagt, dass Polymorphismus eine abstraktere Denkweise ist, deshalb habe ich die Beziehung zur Überlastung korrigiert.
Dieser Artikel ist ein Memorandum. Obwohl es sich um einen Inhalt auf Referenzebene handelt, lautet der in diesem Artikel zu veröffentlichende Code ~~ ** Falsche ** Dinge stehen im Mittelpunkt. Dies dient dazu, den fehlerhaften Teil während der eigentlichen Codierung zu veröffentlichen und zur Selbstreflexion zu veröffentlichen ~~. Außerdem werde ich hier nicht auf den tiefen Teil eingehen, da ich ihn später überprüfen werde, während ich auch die Fragen zur Java Silver-Prüfung studiere.
Sprache: Java11, JDK13.0.2 Betriebsumgebung: Windows 10
In der Klasse gibt es eine Regel, nach der Methoden mit demselben Namen koexistieren können. Selbst wenn Sie die Anzahl der Argumente erhöhen, die in einer Methode unbegrenzt behandelt werden sollen, ist es schwierig, alle Argumente gleichzeitig zu deklarieren, sodass der Klassenbenutzer sie leichter separat für die erforderlichen Funktionen vorbereiten kann.
Cat.java
getCatStatus(double weight,double height){
(Abkürzung)
}
getCatStatus(int age,int number){
(Abkürzung)
}
getCatStatus(String name,String voice){
(Abkürzung)
}
Zu diesem Zeitpunkt können Sie abhängig von der Argumentspezifikation bei Verwendung von getCatStatus () die passende Methode aus den gleichnamigen Methoden auswählen und verwenden. Diese Funktion heißt ** Überladung **. Als Einschränkung ** ist es erforderlich, den Typ und die Anzahl der Argumente jeder Methode mit demselben Namen unterschiedlich zu machen **. Dies schließt keine Unterschiede zwischen Rückgabetypen ein, sodass Sie keine Methode erstellen können, die dieselben Argumente mit unterschiedlichen ** Modifikatoren ** erfordert.
Beim Vorbereiten einer Klasse und Schreiben einer Methode kann der Anfangswert des Klassenfelds unmittelbar nach dem Erstellen des Objekts der Klasse festgelegt werden.
Cat.java
class Cat
{
private double weight;
private int age;
public Cat()
{
weight = 1.0;
age = 0;
}
}
Wenn Sie eine Methode mit genau demselben Namen wie der Klassenname schreiben, können Sie den Anfangswert automatisch speichern, wenn ein Objekt mit der Klasse "new" erstellt wird.
Informationen zu der in der Überladung behandelten Funktion, bei der es sich um eine Methode mit demselben Namen handelt, die jedoch je nach Argument unterschiedliche Funktionen haben kann. Es handelt sich um einen Mechanismus der Mehrfachdefinition von Funktionen und insbesondere des ** Polymorphismus **, bei dem sich das Verhalten der Funktion je nach Art des Arguments ändert. Dies wird als ** Ad-hoc-Polymorphismus ** bezeichnet.
Hinweis: Adhook-Polymorphismus ist einer von ** Polymorphismus **
Ich schreibe und kompiliere Variablen und Ausdrücke so oft wie möglich selbst. Wenn ich sie also vollständig zitieren möchte, werde ich sie beschreiben.
Easy Java 7th Edition Java SE11 Silver Problem Collection (allgemein bekannt als Kuromoto)
Recommended Posts