Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Interfaces Funcionales

Interfaces Funcionales

Autor jc mouse viernes, enero 5, 2018

Una Interface Funcional es una interface que contiene uno y solo un método abstracto aunque puede contener métodos por defecto y estáticos.

Método Abstracto: Un método abstracto es aquel que esta declarado pero no implementado. Es decir, es aquel método del cual se escribe su nombre, valor de retorno y parámetros de entrada, pero no su código.

Si bien podemos definir nuestras propias interfaces funcionales, java 8 trae pre definidos una gran variedad de interfaces en el paquete java.util.function los cuales podemos usar en cualquier momento.

Link Oracle : https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Declaración de una Interface Funcional

A continuación un ejemplo de una Interface Funcional que lleva por nombre «MiInterface» e implementa un metod abstracto invertir:

@FunctionalInterface
public interface MiInterface {
    
    String invertir(String palabra);
    
}

Podemos destacar el uso de @FunctionalInterface esta anotación le permite al compilador realizar la validación de la interface, por ejemplo, si ponemos dos métodos abstractos, nos lanza la siguiente advertencia:

interface error

Implementación de la Interface Funcional

A continuación un ejemplo de como implementar la Interface Funcional de la forma antigua y con java 8 usando lambdas:

public class Main {

    public static void main(String[] args) {

        //Antigua forma
        MiInterface miInterface = new MiInterface() {
            @Override
            public String invertir(String palabra) {
                String result = "";
                for (int i = palabra.length() - 1; i >= 0; i--) {
                    result += palabra.charAt(i);
                }
                return result;
            }
        };
        System.out.println(miInterface.invertir("supercalifragilístico"));

        //Con java 8
        MiInterface miInterface2 = (String palabra) -> {
            String result = "";
            for (int i = palabra.length() - 1; i >= 0; i--) {
                result += palabra.charAt(i);
            }
            return result;
        };
        System.out.println(miInterface2.invertir("supercalifragilístico"));
      
    }

}

Finalmente el resultado del código anterior:

superfragialgospinoseque

 

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Conexión MySQL y C#

Conexión MySQL y C#

En este post vamos a crear una aplicación sencilla para conectar C# con MySQL. Manos a la obra 🙂 Necesitamos – Con...

Impresión de reportes

Impresión de reportes

Existen diferentes métodos par imprimir reportes hechos con JasperReport en aplicaciones hechas en java, en este post te...

Simulador de Urna Electrónica en java

Simulador de Urna Electrónica en java

Hola 🙂 en esta ocasión un amigo del Brasil nos envía un proyecto java de una Urna Electrónica o Voto Electronico, desarr...

Google Open Source: Código Abierto +2000 proyectos

Google Open Source: Código Abierto +2000 proyectos

Google abre las puertas de Google Open Source un nuevo sitio web que une todos sus proyectos de «Código Abierto» que ha...

Introducción a VueJS framework para el desarrollo FrontEnd

Introducción a VueJS framework para el desarrollo FrontEnd

Vue.js es un framework progresivo para la creación de interfaces de usuario de una sola página creado por Evan You. Pero...

Contar segundos (Problema Resuelto)

Contar segundos (Problema Resuelto)

El problema dice asi: Se desea contar los segundos que se presiona un JButton en un formulario. Solución: Para resolver...

Comparte lo que sabes

Categorias

Últimas entradas

Sourcetrail el explorador de código fuente de los lenguaje C, C ++, Java y Python se pasa al Software Libre y desde ahor...

Tapiti v1.2.0 es un Software Educativo Gratuito multiplataforma para los sistemas operativos Windows y Linux el cual no...

En este post vemos un ejemplo de como convertir un archivo de imagen JPG en un archivo PDF utilizando para ellos la libr...

El modelo Tweetbotornot es un algoritmo de aprendizaje automático que se entrenó en miles de cuentas reales de bot y no...

Herramientas

Generador de Enlaces a Whatsapp