Tipo de retorno covariante en Java

MD Aminul Islam 12 octubre 2023
  1. Beneficios de usar el tipo de devolución Covariante
  2. Demostración del Tipo de Retorno Covariante
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:

  1. Nos ayuda a eliminar la confusión sobre los moldes de tipos presentes en la jerarquía de clases.
  2. Nos permite hacer que el código sea utilizable, legible y fácil de mantener.
  3. Nos ayuda a obtener tipos de devolución más específicos al anular métodos.
  4. 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
MD Aminul Islam avatar MD Aminul Islam avatar

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

Artículo relacionado - Java Function