Kovarianter Rückgabetyp in Java
Der Begriff kovarianter
Rückgabetyp bezeichnet einen Rückgabetyp einer überschreibenden
Methode. Es erfordert kein type casting
und hilft uns, den Rückgabetyp einer überschriebenen Methode einzugrenzen.
Aber der Rückgabetyp Covariant
funktioniert nur für die Rückgabetypen nicht-primitiv
. Dieser Artikel behandelt den Rückgabetyp Covariant
und lernt das Thema anhand von Beispielcode.
Vorteile der Verwendung des Rückgabetyps Kovariant
Bevor wir beginnen, sehen wir uns an, welche Vorteile wir aus dem Rückgabetyp Covariant
ziehen. Durch die Verwendung des Rückgabetyps Kovariant
erhalten wir die folgenden Vorteile:
- Es hilft uns, die Verwirrung über die in der Klassenhierarchie vorhandenen Typumwandlungen zu beseitigen.
- Es ermöglicht uns, den Code nutzbar, lesbar und leicht wartbar zu machen.
- Es hilft uns, beim Überschreiben von Methoden spezifischere Rückgabetypen zu erhalten.
- Es verhindert Laufzeitausnahmen wie
ClassCastException
.
Demonstration des Rückgabetyps Kovariant
In unserem folgenden Codebeispiel veranschaulichen wir den Rückgabetyp Covariant
. Schauen Sie sich das einfache Beispiel unten an:
class MainClass { // Declaring a main parent class
MainClass get() { // Creating a method for the parent class
System.out.println("A message from the main class: MainClass");
return this;
}
}
// Our controlling class
public class CovariantType extends MainClass { // This class inherit to the parent class
CovariantType get() { // Overriding the parent class method
System.out.println("A message from the main class: SubClass");
return this;
}
public static void main(String[] args) {
MainClass test = new CovariantType(); // Covariant return type. No type casting is required.
test.get(); // Calling the method
}
}
Wir haben bereits den Zweck jeder Codezeile beschrieben. Im obigen Beispiel haben wir zuerst die Hauptklasse namens MainClass
erstellt, die auch die Elternklasse ist, und danach haben wir eine Methode get()
deklariert und definiert.
In unserer Kindklasse CovariantType
haben wir sie mit der Elternklasse MainClass
geerbt und die get()
-Methode der Elternklasse überschrieben.
Zuletzt haben wir einen Covariant
-Typ erstellt und die Methode get()
genannt. Wenn Sie den obigen Beispielcode ausführen, erhalten Sie die folgende Ausgabe in Ihrer Konsole.
A message from the main class: SubClass
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn