Antes que continúe con el ciclovía tengo que arreglar un detalle que me quede pendiente de clase anterior
por acá en Tzahal lo cuenta?
Me faltó quitar esta línea porque en realidad el New Cuentan 3 ya lo estamos creando acá.
Se fijan en el Before Izz.
Entonces no tiene sentido volver a crearlo acá.
Simplemente me faltó quitarlo.
Nada más.
Bueno, eso es todo.
Es el único detalle.
Bien, lo vamos a probar.
Control Cheff F10 para que te todo bien.
Está perfecto.
De hecho, voy a ejecutar todos tus métodos.
Entonces volvemos a ejecutar.
Y acá tenemos todo los métodos.
Y bien.
Y por cada uno se fijan.
Iniciando el método.
Finalizando el método de prueba.
Y así por cada método.
Incluso podríamos hacer un clic en cada uno.
Y se muestra lo que se imprime consola acá y acá, en cada método, antes y después, ya por cada uno
que está bien, bien.
Pero la idea esta clase de ver otros métodos o anotacion en realidad del ciclo de vida before hold y
after old.
La diferencia es que se ejecutan una sola vez durante nuestro texto en común para todos los métodos.
Pero bien, acá podríamos tener algún conflicto conceptual, porque si lo ejecuto antes que nada, por
ejemplo, incluso antes de que se crea la instancia cuenta texto se fijan antes crear new cuenta text
que eso se hace por debajo.
Cuando ejecutamos la planetaria se crea la instancia, luego se invoca el método Before it ejecutar
antes el método, luego se ejecuta el método test anotado con test y después se ejecuta el after its
que es el ciclo día.
Se fijan, pero incluso antes de que se crea la instancia sea invocar este otro método.
Cómo puede ser posible?
Cómo podemos invocar un método cuando todavía no existe la referencia a la instancia?
Bueno, vamos a ver lo primero lo podemos crear manual o también de forma automática con el alt insert
y acá tenemos before class y after class, pero esta relacionado a la clase y no a la instancia, no
a la instancia de cuenta test.
Por lo tanto, sería un método estático.
Claro que sí.
Veamos.
Hacemos un clic en Before Class, es decir, antes de que se crea la instancia y es común para todos
los métodos.
Se ejecuta una sola vez y acá aparece Static.
Por lo tanto, es un método que le pertenece a la clase, no está asociado a la instancia.
Y por supuesto que no, porque la instancia todavía no se ha creado.
Se fijan y acá lo podríamos utilizar también para inicializar algún recurso, alguna conexión de algo.
Se fijan lo que sea.
Bien, vamos a colocar, por ejemplo, Shout.
Inicializado el test.
Por ejemplo, el test o la clase test y ni siquiera la clase es la respuesta a la clase test.
Pero no la instancia, porque se está llamando de forma estática.
Recuerden, cuando invocÃ mometo estático es el nombre, la clase de punto.
El método estático.
Entonces el primero se llama este método y después se crea la referencia de clase, test y todo lo demás.
Y muy parecido también el after ol.
Una vez que se hayan ejecutado todos los métodos de prueba al final.
Al finalizar se llama este método que también es estático al insert after after class.
Después de que se hayan ejecutado todos los métodos de prueba.
Y también es estático.
El test.
Finalizando el test.
También para cerrar un recurso, por ejemplo.
Lo vamos a ejecutar.
Se fijan inicializado el test es lo primero que se invoca después.
Bueno, cada metodo inicializa en el método finalizando el método y asi por cada uno y al final finalizando
el test.
Y ahí termina ciclovía.
Entonces es una vez al comienzo, una vez al final y estatico.
Ahora, qué pasa si insisto?
Y digo bueno, no, no quiero que sea estático, quiero que sea de la instancia, se fijen.
Quito el estatico acá y acá.
Bueno, por supuesto.
Bueno, creo que debería dar un error porque la instancia no existe todavía cuando hectómetros se llaman
que de forma estática la instancia no se ha creado.
Entonces vamos a levantar.
Yo automáticamente ignoraba.
Acá se dejan, llégate before or este método.
No se puede llamar porque no hay una instancia.
Por lo tanto, se va a ignorar completamente el texto no lo puede llamar entonces por es importante
que sea estático.
De otra forma igual podríamos forzar nuestra clase, cuenta Test para que la instancia se cree una sola
vez y no por cada método, no por cada llamada a un método texto.
Ahora, insisto, no es una buena práctica tener una sola instancia porque invita y nos permite manejar
un estado dentro de la clase.
Test de cuéntate es tener algún atributo, por ejemplo, y lo podríamos inicializar en algún método
test anotado con test y después lo podríamos utilizar en otro método test uno que escribe la variable,
el valor y en otro que lo utiliza, por ejemplo con un if que lo lee.
Pero esta forma ni siquiera se garantiza el orden de ejecución de método.
Es probable que incluso se ejecute primero el método que lee este atributo.
Esta variable y después ejecuta el método que modifica este valor.
Este atributo, entonces tampoco tiene sentido.
Por qué no se garantiza el orden a menos que ordenemos los métodos con la anotación order?
Se fijan.
Pero si todo no es buena práctica.
Ya que estamos acoplando los métodos y estamos interfiriendo en que el resultado de un método interfiera
y afecte en el resultado de otro método test de alguna forma va alterar el comportamiento de la propietaria
de esta forma.
Lo vamos a ver.
Por ejemplo anotando context instance.
Acá lo tenemos.
Y lo mismo ustedes instances.
Punto.
Life Cycle El ciclo de vida punto llega a indícanos si es por método, que es el por defecto.
Si colocamos por método el ciclo de días, por método, no por la clase, que es el por defecto, pero
si cambiamos de forma ilícita a por clase.
Bueno, ahí se a crear una sola referencia y de hecho estos métodos son estatico.
Ahora como maneja una sola instancia de la clase test para todos los métodos una referencia en común.
Podríamos quitar el estatica, se fijan y ahí no debiera dar error.
Vamos a probar.
Ejecutamos.
Se fijan hay Novarro y hay, puede ser, método de la instancia y no método estáticos, y también podríamos
tener atributo, manejar algún estado donde un método modifique ese valor y se lea en otro método.
Como explicaba, no se recomienda, pero se puede hacer.
Incluso podemos ordenar los métodos para que vayan en el orden que queramos y así no tener problema
que que primero se ejecutó el que lee un valor y luego se ejecuta el que escribe un valor, no la idea
de que no sea así de poder se puede, pero que sea lo más independiente posible y que no maneje ningún
estado, sea estÃriles, completamente independiente.
Esto lo puede comentar, lo pueden quitar.
Yo lo he comentado para que lo tengan.
Control Sludge.
Lo comentamos.
Y también faltó acá el estatica lo dejamos con estatico y lo mismo acá.
Y está molesto, lo dejamos así y continuamos en la siguiente clase.