Cómo implementar una interfaz usando un Enum en Java

Las enumeraciones sirven para representar un grupo de constantes con nombre en un lenguaje de programación. Por ejemplo, los 4 palos en una baraja de naipes pueden ser 4 enumeradores llamados Trébol, Diamante, Corazón y Pica, pertenecientes a un tipo enumerado llamado Palo. Ya hemos discutido los conceptos básicos de enum, cómo se declara en el artículo anterior . En este artículo, entenderemos cómo una enumeración implementa una interfaz.

Principalmente usamos enumeraciones cuando un parámetro de método solo puede tomar el valor de un pequeño conjunto de valores posibles, lo que significa que los valores de entrada son fijos y se toma de ese conjunto fijo de valores. El tipo de enumeración de Java es un tipo especial de clase de Java que puede contener constantes y métodos como las clases de Java normales, donde los valores son las únicas instancias posibles de esta clase. Esta enumeración amplía la clase abstracta java.lang.Enum. Considere una situación en la que tenemos que implementar alguna lógica comercial que está estrechamente relacionada con una propiedad discriminatoria de un objeto o clase dado en ese momento implementamos una interfaz con enumeración. Piense en un caso en el que necesitamos fusionar los valores de dos enumeraciones en un grupo y tratarlos de manera similar, hayEnum implementa la interfaz .

Dado que una enumeración extiende implícitamente la clase abstracta java.lang.Enum , no puede extender ninguna otra clase o enumeración y tampoco ninguna clase puede extender la enumeración. Entonces está claro que la enumeración no puede extenderse o no puede extenderse. Pero cuando existe la necesidad de lograr herencia múltiple, la enumeración puede implementar cualquier interfaz y, en Java, es posible que una enumeración pueda implementar una interfaz . Por lo tanto, para lograr la extensibilidad, se siguen los siguientes pasos:

  1. Crear una interfaz .
  2. Después de crear una interfaz, implemente esa interfaz mediante Enum.

El siguiente es el código que demuestra la implementación de una interfaz en una enumeración:

// Java program to demonstrate
// how an enum implements an
// interface
  
// Defining an interface
interface week {
  
    // Defining an abstract method
    public int day();
}
  
// Initializing an enum which
// implements the above interface
enum Day implements week {
  
    // Initializing the possible
    // days
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday;
  
    public int day()
    {
        return ordinal() + 1;
    }
}
  
// Main Class
public class Daycount {
    public static void main(String args[])
    {
        System.out.println("It is day number "
                           + Day.Wednesday.day()
                           + " of a week.");
    }
}
Producción:

It is day number 3 of a week.

Publicación traducida automáticamente

Artículo escrito por Satyabrata_Jena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *