1
00:00:00,180 --> 00:00:04,500
Antes que continúe con el ciclovía tengo que arreglar un detalle que me quede pendiente de clase anterior

2
00:00:04,560 --> 00:00:06,420
por acá en Tzahal lo cuenta?

3
00:00:06,510 --> 00:00:11,310
Me faltó quitar esta línea porque en realidad el New Cuentan 3 ya lo estamos creando acá.

4
00:00:11,340 --> 00:00:13,580
Se fijan en el Before Izz.

5
00:00:13,770 --> 00:00:16,260
Entonces no tiene sentido volver a crearlo acá.

6
00:00:16,320 --> 00:00:18,630
Simplemente me faltó quitarlo.

7
00:00:18,720 --> 00:00:19,170
Nada más.

8
00:00:19,230 --> 00:00:19,950
Bueno, eso es todo.

9
00:00:20,070 --> 00:00:20,850
Es el único detalle.

10
00:00:21,040 --> 00:00:22,080
Bien, lo vamos a probar.

11
00:00:22,170 --> 00:00:24,930
Control Cheff F10 para que te todo bien.

12
00:00:25,080 --> 00:00:25,690
Está perfecto.

13
00:00:25,830 --> 00:00:27,840
De hecho, voy a ejecutar todos tus métodos.

14
00:00:27,940 --> 00:00:29,220
Entonces volvemos a ejecutar.

15
00:00:29,820 --> 00:00:31,110
Y acá tenemos todo los métodos.

16
00:00:31,200 --> 00:00:31,530
Y bien.

17
00:00:31,590 --> 00:00:32,700
Y por cada uno se fijan.

18
00:00:32,760 --> 00:00:33,650
Iniciando el método.

19
00:00:33,660 --> 00:00:35,220
Finalizando el método de prueba.

20
00:00:35,310 --> 00:00:36,640
Y así por cada método.

21
00:00:37,050 --> 00:00:39,810
Incluso podríamos hacer un clic en cada uno.

22
00:00:39,900 --> 00:00:46,790
Y se muestra lo que se imprime consola acá y acá, en cada método, antes y después, ya por cada uno

23
00:00:46,920 --> 00:00:47,620
que está bien, bien.

24
00:00:47,700 --> 00:00:54,780
Pero la idea esta clase de ver otros métodos o anotacion en realidad del ciclo de vida before hold y

25
00:00:54,870 --> 00:00:55,710
after old.

26
00:00:55,830 --> 00:01:01,320
La diferencia es que se ejecutan una sola vez durante nuestro texto en común para todos los métodos.

27
00:01:01,500 --> 00:01:07,380
Pero bien, acá podríamos tener algún conflicto conceptual, porque si lo ejecuto antes que nada, por

28
00:01:07,380 --> 00:01:13,110
ejemplo, incluso antes de que se crea la instancia cuenta texto se fijan antes crear new cuenta text

29
00:01:13,290 --> 00:01:14,410
que eso se hace por debajo.

30
00:01:14,430 --> 00:01:21,660
Cuando ejecutamos la planetaria se crea la instancia, luego se invoca el método Before it ejecutar

31
00:01:21,720 --> 00:01:27,930
antes el método, luego se ejecuta el método test anotado con test y después se ejecuta el after its

32
00:01:28,110 --> 00:01:28,980
que es el ciclo día.

33
00:01:29,010 --> 00:01:33,240
Se fijan, pero incluso antes de que se crea la instancia sea invocar este otro método.

34
00:01:33,300 --> 00:01:34,230
Cómo puede ser posible?

35
00:01:34,260 --> 00:01:38,820
Cómo podemos invocar un método cuando todavía no existe la referencia a la instancia?

36
00:01:39,030 --> 00:01:46,380
Bueno, vamos a ver lo primero lo podemos crear manual o también de forma automática con el alt insert

37
00:01:46,590 --> 00:01:54,510
y acá tenemos before class y after class, pero esta relacionado a la clase y no a la instancia, no

38
00:01:54,510 --> 00:01:56,100
a la instancia de cuenta test.

39
00:01:56,370 --> 00:01:58,380
Por lo tanto, sería un método estático.

40
00:01:58,500 --> 00:01:59,070
Claro que sí.

41
00:01:59,250 --> 00:01:59,730
Veamos.

42
00:02:00,000 --> 00:02:05,490
Hacemos un clic en Before Class, es decir, antes de que se crea la instancia y es común para todos

43
00:02:05,490 --> 00:02:06,030
los métodos.

44
00:02:06,180 --> 00:02:09,720
Se ejecuta una sola vez y acá aparece Static.

45
00:02:09,900 --> 00:02:15,690
Por lo tanto, es un método que le pertenece a la clase, no está asociado a la instancia.

46
00:02:15,810 --> 00:02:17,970
Y por supuesto que no, porque la instancia todavía no se ha creado.

47
00:02:18,000 --> 00:02:24,210
Se fijan y acá lo podríamos utilizar también para inicializar algún recurso, alguna conexión de algo.

48
00:02:24,300 --> 00:02:25,650
Se fijan lo que sea.

49
00:02:25,840 --> 00:02:28,680
Bien, vamos a colocar, por ejemplo, Shout.

50
00:02:29,930 --> 00:02:31,940
Inicializado el test.

51
00:02:32,150 --> 00:02:40,020
Por ejemplo, el test o la clase test y ni siquiera la clase es la respuesta a la clase test.

52
00:02:40,070 --> 00:02:43,250
Pero no la instancia, porque se está llamando de forma estática.

53
00:02:43,400 --> 00:02:47,330
Recuerden, cuando invocÃ mometo estático es el nombre, la clase de punto.

54
00:02:47,450 --> 00:02:48,380
El método estático.

55
00:02:48,530 --> 00:02:54,410
Entonces el primero se llama este método y después se crea la referencia de clase, test y todo lo demás.

56
00:02:54,710 --> 00:02:56,810
Y muy parecido también el after ol.

57
00:02:57,020 --> 00:03:00,140
Una vez que se hayan ejecutado todos los métodos de prueba al final.

58
00:03:00,230 --> 00:03:06,050
Al finalizar se llama este método que también es estático al insert after after class.

59
00:03:06,500 --> 00:03:08,900
Después de que se hayan ejecutado todos los métodos de prueba.

60
00:03:09,020 --> 00:03:09,890
Y también es estático.

61
00:03:13,630 --> 00:03:14,150
El test.

62
00:03:14,200 --> 00:03:15,070
Finalizando el test.

63
00:03:15,130 --> 00:03:17,350
También para cerrar un recurso, por ejemplo.

64
00:03:17,860 --> 00:03:18,760
Lo vamos a ejecutar.

65
00:03:22,770 --> 00:03:27,060
Se fijan inicializado el test es lo primero que se invoca después.

66
00:03:27,180 --> 00:03:33,930
Bueno, cada metodo inicializa en el método finalizando el método y asi por cada uno y al final finalizando

67
00:03:34,020 --> 00:03:34,590
el test.

68
00:03:35,370 --> 00:03:36,510
Y ahí termina ciclovía.

69
00:03:36,690 --> 00:03:40,860
Entonces es una vez al comienzo, una vez al final y estatico.

70
00:03:40,980 --> 00:03:42,810
Ahora, qué pasa si insisto?

71
00:03:42,840 --> 00:03:46,890
Y digo bueno, no, no quiero que sea estático, quiero que sea de la instancia, se fijen.

72
00:03:47,010 --> 00:03:49,170
Quito el estatico acá y acá.

73
00:03:49,290 --> 00:03:50,340
Bueno, por supuesto.

74
00:03:50,400 --> 00:03:55,830
Bueno, creo que debería dar un error porque la instancia no existe todavía cuando hectómetros se llaman

75
00:03:55,920 --> 00:03:59,440
que de forma estática la instancia no se ha creado.

76
00:03:59,880 --> 00:04:01,170
Entonces vamos a levantar.

77
00:04:05,320 --> 00:04:07,360
Yo automáticamente ignoraba.

78
00:04:08,780 --> 00:04:12,220
Acá se dejan, llégate before or este método.

79
00:04:13,290 --> 00:04:15,300
No se puede llamar porque no hay una instancia.

80
00:04:15,420 --> 00:04:20,700
Por lo tanto, se va a ignorar completamente el texto no lo puede llamar entonces por es importante

81
00:04:21,150 --> 00:04:22,050
que sea estático.

82
00:04:22,470 --> 00:04:27,810
De otra forma igual podríamos forzar nuestra clase, cuenta Test para que la instancia se cree una sola

83
00:04:27,810 --> 00:04:33,210
vez y no por cada método, no por cada llamada a un método texto.

84
00:04:33,420 --> 00:04:39,240
Ahora, insisto, no es una buena práctica tener una sola instancia porque invita y nos permite manejar

85
00:04:39,330 --> 00:04:41,960
un estado dentro de la clase.

86
00:04:42,060 --> 00:04:48,120
Test de cuéntate es tener algún atributo, por ejemplo, y lo podríamos inicializar en algún método

87
00:04:48,150 --> 00:04:54,390
test anotado con test y después lo podríamos utilizar en otro método test uno que escribe la variable,

88
00:04:54,420 --> 00:04:58,050
el valor y en otro que lo utiliza, por ejemplo con un if que lo lee.

89
00:04:58,140 --> 00:05:01,740
Pero esta forma ni siquiera se garantiza el orden de ejecución de método.

90
00:05:01,860 --> 00:05:06,060
Es probable que incluso se ejecute primero el método que lee este atributo.

91
00:05:06,150 --> 00:05:10,620
Esta variable y después ejecuta el método que modifica este valor.

92
00:05:10,770 --> 00:05:13,050
Este atributo, entonces tampoco tiene sentido.

93
00:05:13,170 --> 00:05:18,220
Por qué no se garantiza el orden a menos que ordenemos los métodos con la anotación order?

94
00:05:18,270 --> 00:05:18,780
Se fijan.

95
00:05:18,900 --> 00:05:21,180
Pero si todo no es buena práctica.

96
00:05:21,390 --> 00:05:28,920
Ya que estamos acoplando los métodos y estamos interfiriendo en que el resultado de un método interfiera

97
00:05:29,010 --> 00:05:36,120
y afecte en el resultado de otro método test de alguna forma va alterar el comportamiento de la propietaria

98
00:05:36,480 --> 00:05:36,960
de esta forma.

99
00:05:37,050 --> 00:05:37,740
Lo vamos a ver.

100
00:05:38,040 --> 00:05:41,930
Por ejemplo anotando context instance.

101
00:05:42,360 --> 00:05:43,140
Acá lo tenemos.

102
00:05:43,440 --> 00:05:46,170
Y lo mismo ustedes instances.

103
00:05:47,870 --> 00:05:48,530
Punto.

104
00:05:48,650 --> 00:05:55,640
Life Cycle El ciclo de vida punto llega a indícanos si es por método, que es el por defecto.

105
00:05:55,850 --> 00:06:00,350
Si colocamos por método el ciclo de días, por método, no por la clase, que es el por defecto, pero

106
00:06:00,350 --> 00:06:03,260
si cambiamos de forma ilícita a por clase.

107
00:06:03,420 --> 00:06:08,840
Bueno, ahí se a crear una sola referencia y de hecho estos métodos son estatico.

108
00:06:08,960 --> 00:06:14,990
Ahora como maneja una sola instancia de la clase test para todos los métodos una referencia en común.

109
00:06:15,380 --> 00:06:20,030
Podríamos quitar el estatica, se fijan y ahí no debiera dar error.

110
00:06:20,300 --> 00:06:20,890
Vamos a probar.

111
00:06:21,740 --> 00:06:22,520
Ejecutamos.

112
00:06:24,150 --> 00:06:31,200
Se fijan hay Novarro y hay, puede ser, método de la instancia y no método estáticos, y también podríamos

113
00:06:31,200 --> 00:06:38,210
tener atributo, manejar algún estado donde un método modifique ese valor y se lea en otro método.

114
00:06:38,400 --> 00:06:41,400
Como explicaba, no se recomienda, pero se puede hacer.

115
00:06:41,520 --> 00:06:46,110
Incluso podemos ordenar los métodos para que vayan en el orden que queramos y así no tener problema

116
00:06:46,110 --> 00:06:53,030
que que primero se ejecutó el que lee un valor y luego se ejecuta el que escribe un valor, no la idea

117
00:06:53,030 --> 00:06:58,050
de que no sea así de poder se puede, pero que sea lo más independiente posible y que no maneje ningún

118
00:06:58,050 --> 00:07:01,560
estado, sea estÃriles, completamente independiente.

119
00:07:02,340 --> 00:07:04,380
Esto lo puede comentar, lo pueden quitar.

120
00:07:05,070 --> 00:07:07,410
Yo lo he comentado para que lo tengan.

121
00:07:07,590 --> 00:07:09,090
Control Sludge.

122
00:07:09,360 --> 00:07:10,200
Lo comentamos.

123
00:07:11,930 --> 00:07:18,110
Y también faltó acá el estatica lo dejamos con estatico y lo mismo acá.

124
00:07:20,060 --> 00:07:24,590
Y está molesto, lo dejamos así y continuamos en la siguiente clase.
