Introduccion La Expresiones Lambda - Tensho97/Aprende-a-Aprender GitHub Wiki

Una expresión Lambda es una función anónima, básicamente es un método abstracto, es decir, un método que sólo está definido en una interfaz pero no implementado, y** esa es la clave** de la funciones lambda, al no estar implementado, el programador lo puede implementar dónde el crea conveniente sin haber heredado de la interfaz.

Sintaxis


(Parémetros)->{Cuerpo}

  1. El operador lambda (->) separa la declaración de parámetros de la declaración del cuerpo de la función.
  2. Parámetros:
  3. Cuando se tiene un solo parámetro no es necesario utilizar los paréntesis.
  4. Cuando no se tienen parámetros, o cuando se tienen dos o más, es necesario utilizar paréntesis.
  5. Cuerpo de lambda:
  6. Cuando el cuerpo de la expresión lambda tiene una única línea no es necesario utilizar las llaves y no necesitan especificar la cláusula return en el caso de que deban devolver valores.
  7. Cuando el cuerpo de la expresión lambda tiene más de una línea se hace necesario utilizar las llaves y es necesario incluir la cláusula return en el caso de que la función deba devolver un valor.

Ejemplo


@FunctionalInterface
public interface FiguraGeometrica {
	//método abstracto para sumar 2 números, que lo implementará el programador a partir de una expresión Lambda
	public double calcularArea(int lado, int altura);	
}


public class TestLambdas {
 
	public static void main(String[] args) {
 
		int x = 10;
		int y = 5;
		
		//se implementa el método de la interfaz con una expresión lambda
		FiguraGeometrica cuadrado = (int altura, int longitud) -> {
			return altura * longitud;
		};
               FiguraGeometrica triangulo = (int altura, int longitud) -> {
			return altura * longitud /2;
		};

		//se utiliza el método con la implementación y se le envía los valores correspondiente
		double areaCuadrado = cuadrado.calcularArea(x, y);
                double areaTriangulo = triangulo.calcularArea(x, y);
	}
}



Autor: Richard