Tipo de retorno covariante en Java
El término tipo de devolución Covariante
significa un tipo de devolución de un método superior
. No requiere ninguna conversión de tipos
, y nos ayudará a reducir el tipo de retorno de un método anulado.
Pero el tipo de devolución Covariante
solo funciona para los tipos de devolución no primitivos
. Este artículo analiza el tipo de retorno Covariante
y aprende el tema a través de un código de ejemplo.
Beneficios de usar el tipo de devolución Covariante
Antes de comenzar, veamos qué beneficios obtenemos del tipo de retorno Covariante
. Al utilizar el tipo de devolución Covariante
, obtendremos los siguientes beneficios:
- Nos ayuda a eliminar la confusión sobre los moldes de tipos presentes en la jerarquía de clases.
- Nos permite hacer que el código sea utilizable, legible y fácil de mantener.
- Nos ayuda a obtener tipos de devolución más específicos al anular métodos.
- Previene las excepciones de tiempo de ejecución como
ClassCastException
.
Demostración del Tipo de Retorno Covariante
En nuestro ejemplo de código a continuación, ilustraremos el tipo de retorno Covariante
. Eche un vistazo al ejemplo simple a continuación:
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
}
}
Ya hemos descrito el propósito de cada línea de código. En el ejemplo anterior, primero creamos la clase principal denominada MainClass
, que también es la clase principal, y luego declaramos un método get()
y lo definimos.
En nuestra clase secundaria CovariantType
, la heredamos con la clase principal MainClass
y anulamos el método get()
de la clase principal.
Por último, creamos un tipo Covariante
y llamamos al método get()
. Cuando ejecute el código de ejemplo anterior, obtendrá el siguiente resultado en su consola.
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