1
00:00:00,120 --> 00:00:00,660
Bienvenidos.

2
00:00:00,690 --> 00:00:02,320
Continuamos con las expresiones Lanta.

3
00:00:02,370 --> 00:00:06,960
Vamos a crear nuestra propia implementación poco más personalizada de la que hemos visto.

4
00:00:07,080 --> 00:00:12,920
Aunque en la mayoría de las veces es más que suficiente utilizar alguna existente que no probé, ya

5
00:00:12,940 --> 00:00:17,040
va la que vimos el Predicad Consumer, su player.

6
00:00:17,130 --> 00:00:18,450
En fin, más que suficiente.

7
00:00:18,480 --> 00:00:23,340
Pero también podríamos implementar nuestras propias expresiones landa utilizando una interfaz funcional

8
00:00:23,460 --> 00:00:24,210
con un método.

9
00:00:24,330 --> 00:00:25,820
Recuerden un solo método abstracto.

10
00:00:26,130 --> 00:00:27,110
Vamos a crear un package.

11
00:00:27,350 --> 00:00:32,640
Acá solamente para organizar le vamos a llamar aritmética.

12
00:00:34,460 --> 00:00:40,350
Bien, vamos a crear primero una interfaz Java que las seleccionamos interface aritmética.

13
00:00:43,420 --> 00:00:59,020
Con un método abstracto operación retorna un doble o un entero operación un doble A, un doble B, pero

14
00:00:59,020 --> 00:01:02,050
también puede ser entero solamente para manejar algo de precisión.

15
00:01:02,140 --> 00:01:02,650
Nada más.

16
00:01:02,890 --> 00:01:09,730
Un solo meta tracto podría tener más métodos, pero solamente default o estáticos, pero uno solo abstracto.

17
00:01:10,540 --> 00:01:13,990
Esa es la única restricción opcionalmente, porque no es obligación.

18
00:01:14,080 --> 00:01:16,960
Podríamos decorar con functional interfaz.

19
00:01:17,770 --> 00:01:25,280
En realidad aporta una semántica algo descriptivo de documentación, pero funcionalmente no aporta nada.

20
00:01:25,630 --> 00:01:29,200
Solamente para indicar de que se trata de una petición la anda bien.

21
00:01:29,230 --> 00:01:32,890
Pero también vamos a tener una clase que utiliza esta versión lanta.

22
00:01:32,950 --> 00:01:41,290
Entonces ya class le vamos a llamar calculadora, clase común y corriente con un método.

23
00:01:41,350 --> 00:01:42,700
Podría ser estático o no?

24
00:01:42,760 --> 00:01:44,260
Para el ejemplo lo dejamos.

25
00:01:44,290 --> 00:01:58,120
Común y corriente public retornÃ resultado de la operación computar double a b y nuestra presión landa

26
00:01:58,240 --> 00:01:58,930
aritmética

27
00:02:01,870 --> 00:02:02,320
danta.

28
00:02:05,200 --> 00:02:15,400
Redondeamos lanta punto operación y pasamos a Koma b la operación, pues suma, resta, multiplicación,

29
00:02:15,400 --> 00:02:16,690
división o lo que queramos.

30
00:02:16,780 --> 00:02:20,800
Cualquier cómputo, operación aritmética está molesto.

31
00:02:20,890 --> 00:02:21,490
Bien, simple.

32
00:02:21,550 --> 00:02:23,570
Ahora nos vamos a ir a la clase con el método Main.

33
00:02:23,710 --> 00:02:25,810
Vamos a crear una clase de ejemplo.

34
00:02:27,040 --> 00:02:36,880
New york class jemplo interfaces funcional funchal, que sería nuestra prisión blanda personalizada

35
00:02:36,940 --> 00:02:37,840
por el método main.

36
00:02:40,790 --> 00:02:48,110
Bien, bueno, lo primero vamos a tener algunas prisiones aritmética suma.

37
00:02:48,200 --> 00:02:51,530
Por ejemplo, recuerden a goma B.

38
00:02:52,850 --> 00:02:55,340
Porque son tus parámetros y devuelve un resultado.

39
00:02:55,400 --> 00:03:00,730
Entonces a más b bien.

40
00:03:04,090 --> 00:03:08,730
Aritmética recta Acoma B.

41
00:03:10,540 --> 00:03:11,910
A menos B.

42
00:03:13,210 --> 00:03:14,920
Vamos a crear la instancia de calculadora

43
00:03:17,890 --> 00:03:32,140
cal igual new calculadora Shout tal punto computar un diez coma cinco y suma.

44
00:03:33,070 --> 00:03:33,790
Vamos a sumar

45
00:03:36,460 --> 00:03:37,070
shout.

46
00:03:38,020 --> 00:03:38,320
Cal.

47
00:03:38,380 --> 00:03:39,320
Punto.

48
00:03:39,370 --> 00:03:40,780
Computar lo mismo.

49
00:03:40,920 --> 00:03:41,440
10.

50
00:03:42,010 --> 00:03:42,850
5.

51
00:03:43,870 --> 00:03:44,410
Resta.

52
00:03:45,340 --> 00:03:46,210
Vamos a revisar.

53
00:03:50,920 --> 00:03:52,210
15 y 5.

54
00:03:52,360 --> 00:03:53,230
Así que está perfecto.

55
00:03:53,920 --> 00:03:55,330
También podríamos tener otro más.

56
00:03:56,380 --> 00:03:56,740
South.

57
00:03:57,730 --> 00:03:58,600
Punto.

58
00:03:58,630 --> 00:04:02,110
Computar 10 5.

59
00:04:02,980 --> 00:04:04,690
Y acá la implementamos al vuelo.

60
00:04:04,960 --> 00:04:08,040
Por ejemplo a B.

61
00:04:09,790 --> 00:04:10,960
A por b.

62
00:04:16,350 --> 00:04:17,100
50.

63
00:04:17,520 --> 00:04:18,330
10 por 5.

64
00:04:18,410 --> 00:04:19,230
Así que está perfecto.

65
00:04:19,320 --> 00:04:26,280
Bien, pero si se fijan nuestra expresión Landa aritmética devuelve un valor y recibe también dos argumentos.

66
00:04:26,440 --> 00:04:27,210
Ay, qué les suena?

67
00:04:27,300 --> 00:04:28,080
Se acuerdan?

68
00:04:28,230 --> 00:04:30,900
Muy parecido a un bi Phantom.

69
00:04:30,990 --> 00:04:36,840
Incluso si nos vamos a calculadora, podríamos replicar esto utilizando esa prisión Lanta que ya viene

70
00:04:36,840 --> 00:04:39,570
por defecto en Java y la podríamos reutilizar.

71
00:04:39,960 --> 00:04:47,370
Se fijan, por ejemplo, public double computar

72
00:04:51,660 --> 00:04:57,030
lleca un bi found chain lanta.

73
00:04:57,900 --> 00:05:00,100
El tipo dato recuerden double.

74
00:05:01,440 --> 00:05:05,700
En este caso del tipo de la clase double.

75
00:05:06,270 --> 00:05:07,560
Y retorna también un tobón.

76
00:05:09,270 --> 00:05:09,590
Bien.

77
00:05:12,960 --> 00:05:16,860
Ratón lambda punto apply.

78
00:05:18,170 --> 00:05:25,730
Entonces, A y B podrían utilizar nuestra propia implementación o la que tenemos ya.

79
00:05:25,820 --> 00:05:36,020
Y le vamos a colocar o le vamos a cambiar el nombre en vez de computar computar con VIH Funchal, nombre

80
00:05:36,020 --> 00:05:38,090
distinto para quien no entre en conflicto.

81
00:05:38,180 --> 00:05:43,610
Claro, porque a pesar de que son distinto tipo, pero ambas son expresiones Lanta queda ambiguo si

82
00:05:43,610 --> 00:05:45,380
no le cambiamos el nombre.

83
00:05:45,560 --> 00:05:51,830
De hecho, no soporta sobrecarga de método con expresiones lanta, a pesar de que sean de distinto tipo

84
00:05:51,950 --> 00:05:52,510
que ambigua.

85
00:05:52,710 --> 00:05:56,960
Entonces por eso cambiamos el nombre computar con VIH ancho perfecto.

86
00:05:57,050 --> 00:05:59,420
Podríamos utilizar de la misma forma.

87
00:06:01,720 --> 00:06:12,640
Soult calculadora punto computar con pífano ancho 10 5 lleca la implementemos ser bueno, bueno, no

88
00:06:12,640 --> 00:06:17,710
podemos colocar suma porque suma o resta del tipo aritmética y no un bife.

89
00:06:17,710 --> 00:06:26,910
Antxón Entonces acá la podemos implementar a Comas b a más b Listo.

90
00:06:31,140 --> 00:06:31,650
Quimsa.

91
00:06:32,550 --> 00:06:37,680
Podrían utilizar la pistola blanda que ya viene por defecto existente o podríamos implementar nuestras

92
00:06:37,680 --> 00:06:39,010
propias expresiones.

93
00:06:39,030 --> 00:06:39,480
Landau.

94
00:06:41,070 --> 00:06:47,150
Acá nos muestra un warning que no podríamos reemplazar con referencia de método, por ejemplo, Double

95
00:06:47,400 --> 00:06:48,870
2.2.2 sum.

96
00:06:49,680 --> 00:06:52,110
También una alternativa llega también.

97
00:06:52,650 --> 00:06:53,160
Pero bueno.

98
00:06:54,570 --> 00:06:56,220
El resultado no cambia.

99
00:06:58,260 --> 00:07:03,780
Se fijan que bastante siemple la implementación y uso de presiones Landau en Yaba al final se traducen

100
00:07:03,780 --> 00:07:07,590
a métodos anónimos con interfaz, implementación, interfaces.

101
00:07:07,890 --> 00:07:14,620
Ya vienen muchas predefinidas que podemos utilizar en el lenguaje Java y también crear nuestras propias.

102
00:07:14,760 --> 00:07:16,170
Quizá un poco más personalizadas.

103
00:07:16,320 --> 00:07:16,630
En fin.

104
00:07:16,680 --> 00:07:21,510
Pero para la mayoría de los casos es más que suficiente utilizar la que ya vienen en Java, la que hemos

105
00:07:21,510 --> 00:07:23,160
visto en clases anteriores.

106
00:07:23,400 --> 00:07:29,550
Y también es la que se utiliza mucho en el API Stream, que va a ser nuestra próxima sección que viene

107
00:07:29,550 --> 00:07:30,360
a continuación.

108
00:07:30,510 --> 00:07:37,440
Vamos a ver Tuppy, para traja con flujos de forma funcional y con mucho uso de expresiones lanta.

109
00:07:37,620 --> 00:07:39,360
Nos vemos en la siguiente clase.
