0% encontró este documento útil (0 votos)
3 vistas23 páginas

Interfaces y Programación Funcional en Java

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas23 páginas

Interfaces y Programación Funcional en Java

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Interfaces en Java, Principios

y Aplicaciones Funcionales
[Link]. Ing. Ditmar David Castro Angulo
¿Qué es una Interfaz en Java?

● Un contrato que una clase puede implementar

● Contiene métodos abstractos (por defecto)


¿Por qué usar interfaces?

● Abstracción

● Desacoplamiento

● Polimorfismo
Sintaxis básica
Implementación de una Interfaz
Implementacion múltiple con interfaces
Herencia múltiple con interfaces 2

interface Vehiculo {
void arrancar();
}
interface Matricula {
T getMatricula();
}
intereface Coche extends Vehiculo, Matricula {
Interfaces vs Clases abstractas

Característica Interfaz Clase abstracta

Métodos Sí Sí
abstractos

Métodos Desde Java 8 Sí


concretos

Estado/atributos No (excepto Sí
constantes)
Métodos default en interfaces (Java 8+)
Métodos static en interfaces
10. Constantes en interfaces
Ejemplo
Interfaces funcionales: ¿qué son?

Una sola función abstracta (SAM)

Usadas como tipos para lambdas


12. Ejemplo de interfaz funcional
Uso con expresiones lambda
Interfaces funcionales comunes en [Link]

Predicate<T> → boolean test(T t)

Consumer<T> → void accept(T t)

Supplier<T> → T get()

Function<T,R> → R apply(T t)
Ejemplo con Predicate

Predicate<String> esLargo = s -> [Link]() > 5;


[Link]([Link]("Hola")); // false
Ejemplo con Consumer
Streams y programación funcional
19. Ventajas de interfaces funcionales

● Código más limpio

● Reutilización de comportamiento

● Facilita la programación declarativa


Ejercicio
Una empresa necesita procesar su lista de empleados para generar un informe de
aquellos que son mayores de 30 años y ganan los mejores salarios.
Tu tarea es implementar un programa que:
1. Defina una clase Empleado con los atributos:

○ nombre (String)

○ edad (int)

○ salario (double)
1. Cree una lista con al menos 5 empleados de ejemplo (puedes usar [Link](...)).

2. Utilizando Streams, realiza lo siguiente:

○ Filtra a los empleados con edad mayor a 30 años

○ Ordena a los empleados por salario en orden descendente

○ Convierte los nombres de los empleados filtrados a mayúsculas


Resumen

● Interfaces: base para abstracción y contratos

● Interfaces funcionales: clave en la programación moderna en Java

● Java 8+ permite un estilo más funcional gracias a lambdas y


[Link]

También podría gustarte