fbpx

Interfaces en Java

0
Interfaces en Java
GuardarSavedRemoved 0

Las interfaces en Java (Interface) son una especie de contrato estándar que sirve para decir a los programadores la forma en que se va a usar el software que ya programo otro desarrollador o equipo de programadores.

Por ejemplo, tenemos un software que da de alta clientes en los bancos, los bancos por supuesto son particulares y de empresas distintas, pero para que todos los bancos se alineen a un estándar tiene que haber una especie de contrato.

Este contrato dice como se tiene que llamar la funcionalidad de “registrar nuevos clientes”, cada banco implementa su lógica, pero el contrato seria el mismo para todos.

Las interfaces son también un tipo de referencia similar a una clase, solo que estas solo pueden contener constantes, firmas de métodos, métodos por default y métodos estáticos.

Los métodos no tienen cuerpo excepto para los métodos por default o para los estáticos.
No se pueden crear objetos de una interfaz y solo pueden ser implementadas por clases o extendidas por otra interfaz.
En pocas palabras, las interfaces dictan los nombres de los métodos que tienen que implementar los programas.

Las interfaces al igual que las clases o las enumeraciones, se escriben en un archivo por separado.

Definiendo interfaces en Java

Sintaxis de una interfaz: la parte entre corchetes es opcional en caso de herencia.

public interface nombreInterface [extends otras_interfaces] {
   declaracion_de_constantes;

   public tipo metodo1(parametros);
   public tipo metodo2(parametros);
   public tipo metodo3(parametros);
   public tipo metodoN(parametros);
}

Ejemplo de creación de una interface en Java

package cursojava;

public interface OperacionesInterface {
    
    public String insertarEmpleado(int id, String nombre);
    public String actualizarEmpleado(String nombre);
    public String borrarEmpleado(int id);
    public String consultarEmpleado(int id);
    
}

Implementando interfaces en Java

Ejemplo de implementación de una interface en un programa:

package cursojava;

public class OperacionesInterfaceClass  implements OperacionesInterface {

    @Override
    public String insertarEmpleado(int id, String nombre) {
        System.out.println("Se inserto el empleado");
        return "OK-INSERT";
    }

    @Override
    public String actualizarEmpleado(String nombre) {
        System.out.println("Se actualizo el empleado");
        return "OK-UPDATE";
    }

    @Override
    public String borrarEmpleado(int id) {
        System.out.println("Se borro el empleado");
        return "OK-DELETE";
    }

    @Override
    public String consultarEmpleado(int id) {
        System.out.println("Se consulto el empleado");
        return "OK-QUERY";
    } 
}

Como se puede ver en la imagen anterior, la clase está implementando a la interfaz “OperacionesInterface” creada previamente.
Esto quiere decir que la clase está obligada a implementar todos los métodos declarados en la interfaz, con la diferencia de que en la interfaz solo fueron declarados.
Pero en la clase ya tiene que implementarse el cuerpo o la lógica del método. Con esto aseguramos que las clases implementen el contrato definido por la interfaz.

Después de que la clase implemento a la interfaz, ya estamos listos para poder implementar la clase en nuestros programas.

package cursojava;

public class InterfacesMain {
    
    public static void main(String[] args) {
        
        OperacionesInterface operaciones = new OperacionesInterfaceClass();
        
        operaciones.insertarEmpleado(1, "PEDRO");
        operaciones.actualizarEmpleado("PEDRO");
        operaciones.borrarEmpleado(1);
        operaciones.consultarEmpleado(1);
        
    }
}

//Salida del programa
Se inserto el empleado
Se actualizo el empleado
Se borro el empleado
Se consulto el empleado

También se podría usar la interfaz como si fuera un objeto, en vez de definir el objeto como una instancia de la clase “OperacionesInterfaceClass”.
Podemos poner el nombre de la interfaz, en este caso “OperacionesInterface”. Quedando la declaración de la siguiente manera:

OperacionesInterface operaciones = new OperacionesInterfaceClass();

El resultado de la ejecución seria el mismo mostrado anteriormente.

Sigue revisando los temas de este manual de java en español para seguir aprendiendo.

Estaremos encantados de escuchar lo que piensas

Deje una respuesta

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
El inicio de sesión/registro está temporalmente inhabilitado