1
00:00:00,330 --> 00:00:03,060
Continuamos con las variables estáticas de la clase.

2
00:00:03,240 --> 00:00:05,460
Ya habíamos visto algo durante el curso.

3
00:00:05,550 --> 00:00:10,740
Habíamos hablado, mencionado, pero bueno, ahora la idea es profundizar un poco más sobre este concepto

4
00:00:10,830 --> 00:00:12,270
y verlo en un ejemplo.

5
00:00:12,390 --> 00:00:18,740
Entonces, recordando un atributo o método estático de la clase, no le pertenece a la instancia del

6
00:00:18,750 --> 00:00:21,150
objeto en sí, sino de la clase.

7
00:00:21,240 --> 00:00:24,570
Por lo tanto, es compartido por cualquier objeto de esa clase.

8
00:00:24,720 --> 00:00:30,240
De tal forma que si un objeto en particular modifica este valor estático, se va a modificar también

9
00:00:30,240 --> 00:00:30,960
para el resto.

10
00:00:31,170 --> 00:00:35,730
Se podría decir que es un atributo genérico y compartido por todas la instancias de la clase.

11
00:00:35,850 --> 00:00:40,020
Vamos a ir automóvil, vamos a subir, vamos a crear un atributo estático.

12
00:00:40,170 --> 00:00:44,340
Por ahora lo dejamos sentir sin privé, sin públic, solamente en Ford.

13
00:00:44,580 --> 00:00:47,300
Lo primero es la palabra reservada, estática.

14
00:00:47,640 --> 00:00:50,250
Es un modificador que indica que es estática.

15
00:00:50,370 --> 00:00:51,450
Luego viene el tipo auto.

16
00:00:51,480 --> 00:00:59,970
Por ejemplo, es Trenc y el nombre, por ejemplo, puede ser color patente, color patente la patente

17
00:01:00,060 --> 00:01:05,400
del automóvil que como el identificador número donde cada país tiene su propia patente.

18
00:01:05,640 --> 00:01:13,320
En fin, bueno, le vamos a dar el color naranja, por lo tanto cualquier objeto automóvil va a tener

19
00:01:13,440 --> 00:01:16,410
un color de patente naranja y estático.

20
00:01:16,530 --> 00:01:22,020
Por lo tanto, para todos igual un objeto en particular, por ejemplo, un Subaru no podría tener un

21
00:01:22,020 --> 00:01:25,260
color de patente distinta que Nissan o cualquier otro.

22
00:01:25,280 --> 00:01:26,340
No son todos iguales.

23
00:01:26,850 --> 00:01:35,070
La idea era demostrar este atributo estatico, ya sea en detalle o incluso en tus Trenc acá, pero bueno,

24
00:01:35,160 --> 00:01:36,960
mejor en ver detalle por acá.

25
00:01:37,620 --> 00:01:40,860
Entonces bajamos acá un salto línea.

26
00:01:46,410 --> 00:01:49,350
Recuerden como es de la clase, no del objeto.

27
00:01:49,500 --> 00:01:53,010
No puedo acceder con el disputo color.

28
00:01:53,730 --> 00:01:59,520
Bijan no aparece, es decir, no podría acceder, pero de hecho se colocó control y espacio.

29
00:01:59,730 --> 00:02:06,030
Acá lo tengo ya, pero me marca un Guarne, ya que lo correcto es acceder de forma estática, que solamente

30
00:02:06,150 --> 00:02:13,170
un atributo en el contexto se invoca con el nombre, nada más en nombre del atributo concatenados.

31
00:02:13,650 --> 00:02:19,170
Bueno, como estamos dentro de la misma clase puede ser solamente el atributo, pero también puede ser

32
00:02:19,170 --> 00:02:21,840
con el nombre de la clase punto el atributo estatico.

33
00:02:24,140 --> 00:02:26,550
Esa sería otra forma de automóvil.

34
00:02:26,610 --> 00:02:27,300
Punto.

35
00:02:27,480 --> 00:02:32,100
El atributo lo dejamos de esa forma mejor porque estamos dentro de la clase.

36
00:02:32,790 --> 00:02:38,340
Bien, estamos listo y el atributo lo imprimimos o mostramos en detalle.

37
00:02:39,810 --> 00:02:45,910
Y por no modificar esta clase, que tiene ya mucha cosa, vamos a crear una nueva clase, a partir de

38
00:02:46,030 --> 00:02:47,590
entonces copiamos, pegamos.

39
00:02:48,610 --> 00:02:57,410
Y le colocamos de ejemplo automóvil Static refracta mientras toca, los vamos a quitar, por ejemplo,

40
00:02:57,410 --> 00:02:58,160
todo acá.

41
00:02:59,510 --> 00:03:00,340
Los cuales.

42
00:03:01,470 --> 00:03:09,470
Dejamos solamente el detalle, quitamos esto, los cuales acá la fecha y quizás auto a otro como dejar

43
00:03:09,950 --> 00:03:12,750
quitemos el importe, no lo estamos utilizando.

44
00:03:13,500 --> 00:03:20,100
OK, vamos a imprimir por defecto naranja, naranja, naranja, naranja.

45
00:03:20,270 --> 00:03:25,350
Por tanto Mazda, Nissan y el otro Nissan bueno y Subaru naranja.

46
00:03:26,990 --> 00:03:30,260
Incluso acá podríamos copiar, aunque Nisán iniciando.

47
00:03:30,500 --> 00:03:31,790
Recuerden que son muy parecidos.

48
00:03:33,230 --> 00:03:36,110
Tienen los mismos datos, exactamente los mismos datos.

49
00:03:36,820 --> 00:03:37,300
Naranja.

50
00:03:37,940 --> 00:03:38,580
Ahora qué pasa?

51
00:03:38,600 --> 00:03:42,400
Por ejemplo, si Nisán dos modifica el color.

52
00:03:42,860 --> 00:03:47,860
Recuerden que desde fuera la clase automóvil, por ejemplo, acaba con el método Moine.

53
00:03:48,110 --> 00:03:50,720
Podemos acceder a este atributo estatico con el nombre.

54
00:03:50,720 --> 00:03:51,500
La clase nombre.

55
00:03:51,500 --> 00:03:52,490
La clase punto.

56
00:03:52,730 --> 00:03:57,500
Ejemplo automóvil punto color patente, ya que lo podemos modificar.

57
00:03:57,790 --> 00:04:00,970
Bueno, se puede modificar de forma directa, ya que es diferente.

58
00:04:01,160 --> 00:04:06,280
Si fuese Privat no se puede modificar con el atributo, sino tiene que ser con un método C.T.

59
00:04:06,560 --> 00:04:08,810
Después vamos a ver, pero por ahora lo dejamos así.

60
00:04:08,900 --> 00:04:10,420
Simple, verde.

61
00:04:12,830 --> 00:04:13,680
Y lo vamos a probar.

62
00:04:15,840 --> 00:04:23,160
Todos tienen color verde, ahora se quejan porque estatico le pertenece a la clase y no al objeto,

63
00:04:23,250 --> 00:04:24,240
no a la instancia.

64
00:04:25,040 --> 00:04:31,080
Ahora incluso una instancia por ejemplo Nisán 2, un objeto o Subaru da lo mismo.

65
00:04:31,140 --> 00:04:36,240
Cualquiera podría modificar a través de la instancia el atributo estático.

66
00:04:36,480 --> 00:04:37,200
Lo puede hacer?

67
00:04:37,630 --> 00:04:40,650
Sí se puede, pero no es la mejor práctica.

68
00:04:40,830 --> 00:04:45,420
De todas formas, que muestra un warne y en el warning recomienda que se utilice de forma estática con

69
00:04:45,420 --> 00:04:46,200
el nombre la clase.

70
00:04:46,350 --> 00:04:53,610
Por ejemplo, acceder al atributo estático con automóvil punto color patente vía el nombre de la clase

71
00:04:53,880 --> 00:04:55,290
y no el objeto.

72
00:04:55,630 --> 00:05:00,630
Bueno, acá solamente lo estoy haciendo a través del objeto para que vean que si se modifica este valor

73
00:05:00,720 --> 00:05:04,050
cambia para Nisán, para Mazda y para Subaru.

74
00:05:07,610 --> 00:05:08,360
Levantamos.

75
00:05:09,510 --> 00:05:13,200
Ahora campe azul para todos se fijan de forma estática.

76
00:05:14,010 --> 00:05:19,380
Entonces lo importante, a diferencia del atributo común y corriente que da la instancia cuando cambia

77
00:05:19,380 --> 00:05:23,640
el color por ejemplo gris oscuro o rojo o lo que sea.

78
00:05:23,880 --> 00:05:28,290
Por ejemplo, nisán punto color o set color.

79
00:05:28,380 --> 00:05:33,960
En realidad es distinto porque este atributo es propio del objeto, entonces solamente cambia para él,

80
00:05:35,910 --> 00:05:36,940
no cambia para el resto.

81
00:05:37,120 --> 00:05:39,570
Entonces Nisán es el único que va a tener color amarillo.

82
00:05:41,060 --> 00:05:46,010
Se fijan y de hecho en Nissan 2 amarillo, porque Nissan uno gris oscuro.

83
00:05:47,140 --> 00:05:50,950
Mazda color rojo, pero sin embargo, el atributo estatico.

84
00:05:52,240 --> 00:05:53,100
Se cambia para todo.

85
00:05:53,300 --> 00:05:58,870
Entonces la diferencia de la clase versus la instancia bien puede mejorar un poco más el código acá

86
00:05:59,500 --> 00:06:00,310
automóvil.

87
00:06:01,250 --> 00:06:02,280
Voy a colocar Privat.

88
00:06:04,140 --> 00:06:08,940
Ya está bien, Privat ahora marca error por acá.

89
00:06:09,240 --> 00:06:10,470
Debería marcar error acá.

90
00:06:11,730 --> 00:06:18,010
Se fijan, aunque lo correcto sería con el nombre de la clase automóvil.

91
00:06:18,420 --> 00:06:21,660
De esa forma, pero igualmente marca error porque es un atributo privado.

92
00:06:21,750 --> 00:06:23,700
No se puede acceder de forma directa.

93
00:06:24,360 --> 00:06:25,020
Es privado.

94
00:06:25,440 --> 00:06:25,920
Entonces?

95
00:06:25,920 --> 00:06:28,710
Bueno, acá tendremos que implementar métodos yeater y setter.

96
00:06:29,960 --> 00:06:30,400
Hasaka.

97
00:06:31,730 --> 00:06:36,910
íbamos a crear el jet set para este tributo estático, pero este método jet set también debe ser estático.

98
00:06:37,120 --> 00:06:41,350
Siempre un atributo estático tiene que ir de la mano con un método estático y viceversa.

99
00:06:41,620 --> 00:06:54,490
Entonces, por acá, al final o acá, vamos a tener un públic estático y retorna un estricto jet color

100
00:06:54,490 --> 00:06:55,000
patente,

101
00:06:58,150 --> 00:07:00,100
rotor, color patente.

102
00:07:00,920 --> 00:07:05,920
Entonces, un método IET para un atributo estático tiene que ser estático y lo mismo el set

103
00:07:09,200 --> 00:07:12,730
para el set es bait cepp color patente.

104
00:07:20,580 --> 00:07:26,880
Fijan color patente, acá queda ambiguo cómo podemos diferenciar el atributo estático al cual le queremos

105
00:07:26,880 --> 00:07:30,240
pasar el nuevo valor del argumento del método.

106
00:07:30,420 --> 00:07:35,790
Recuerden, uno es el atributo estático de la clase y el otro el argumento, el método.

107
00:07:35,990 --> 00:07:37,470
Entonces, a qué se diferencia?

108
00:07:37,590 --> 00:07:40,770
No podemos usar tiz porque sabemos que es bueno.

109
00:07:40,950 --> 00:07:43,880
De hecho, no puede usar un diseño en un contexto estático.

110
00:07:44,340 --> 00:07:47,440
Además que color patente no es la instancia de la clase.

111
00:07:48,090 --> 00:07:53,910
Entonces usamos el nombre de la clase automóvil punto color patente.

112
00:07:54,560 --> 00:08:00,000
Se fijan con el nombre de la clase punto, el atributo privat, pero como estamos dentro de la misma

113
00:08:00,000 --> 00:08:01,860
clase, lo podemos asignar.

114
00:08:02,340 --> 00:08:05,150
Entonces ahora vamos acá y utilizamos el método C.T.

115
00:08:10,120 --> 00:08:15,850
Se fijan esa serie en la forma correcta Cecco la patente desde fuera y para leer Get.

116
00:08:17,630 --> 00:08:24,470
Entonces por acá un automóvil punto Jeep color patente.

117
00:08:24,770 --> 00:08:29,720
No hago referencia a ninguna instancia, sino directamente con el nombre de la clase.

118
00:08:33,090 --> 00:08:33,610
Azúl.

119
00:08:35,630 --> 00:08:37,160
Y otro punto importante.

120
00:08:37,510 --> 00:08:42,790
Bueno, voy a dar esta clase, está lo de cerrar dejando solamente estáte y automóvil automóvil.

121
00:08:44,180 --> 00:08:49,130
Por acá, en el método calcular consumo, por ejemplo, solamente para el ejemplo.

122
00:08:49,460 --> 00:08:51,380
Qué pasa si este método fuera estático?

123
00:08:51,820 --> 00:08:54,560
Lo voy a copiar, lo voy a pegar y lo voy a renombrar.

124
00:08:55,160 --> 00:08:56,630
Calcular consumo estático?

125
00:08:58,410 --> 00:08:58,680
Bien.

126
00:08:59,760 --> 00:09:03,800
Y le voy a colocar acá public estática para que sea estático.

127
00:09:04,630 --> 00:09:05,390
Acá marca error.

128
00:09:05,420 --> 00:09:05,840
Por qué?

129
00:09:05,920 --> 00:09:09,080
Porque este es un atributo o miembro de la instancia.

130
00:09:09,410 --> 00:09:14,900
Es un atributo común y corriente capacidad tanke y recuerden, en un método estático no puede utilizar

131
00:09:14,960 --> 00:09:19,250
atributos de la clase que sean común y corriente, a menos que sean estatico.

132
00:09:19,490 --> 00:09:23,010
Recuerden que capacidad del tanque de la instancia.

133
00:09:23,510 --> 00:09:29,410
Entonces no utilizar el diseño, ya que no es parte del contexto estático y sequito.

134
00:09:29,440 --> 00:09:36,170
Aldiz tampoco, porque de forma explícita hace referencia a un miembro de la clase a un atributo común

135
00:09:36,170 --> 00:09:37,640
y corriente que no es estático.

136
00:09:37,760 --> 00:09:40,130
Por lo tanto, no es parte del contexto estático.

137
00:09:40,280 --> 00:09:46,970
Entonces, en un método estático solamente podemos trabajar con atributos estáticos o bien o en conjunto,

138
00:09:46,970 --> 00:09:51,250
también con argumentos que se pasan por el método o valores estáticos.

139
00:09:51,460 --> 00:09:54,200
También, por ejemplo, si colocamos en cuenta ningún problema.

140
00:09:55,120 --> 00:10:01,140
Pero no puede ser un atributo, entonces para este caso podríamos crear un atributo estático capaz de

141
00:10:01,140 --> 00:10:02,440
ataque estático.

142
00:10:03,210 --> 00:10:07,810
Acá voy a colocar estatico y lo vamos a crear.

143
00:10:07,960 --> 00:10:08,750
Lo voy a copiar.

144
00:10:10,200 --> 00:10:22,650
Por acá arriba Privat Static capaza tanke del tipo entero con un valor de 30, por ejemplo.

145
00:10:25,720 --> 00:10:31,000
Ya dice que si ahora no da error y este tributo sería el que creemos recién el estatico, lo podemos

146
00:10:31,000 --> 00:10:39,610
utilizar así como estamos dentro de la clase o bien automóvil, punto, capacidad, tanke de forma explícita.

147
00:10:39,910 --> 00:10:45,680
Pero este cálculo consumo sería idéntico para cualquier automóvil, ya que es estático.

148
00:10:45,890 --> 00:10:52,630
Ya sea para Subaru, para Nissan, para Mazda, ya que es 30 30 para todos y si cualquiera de ellos

149
00:10:52,630 --> 00:10:55,450
modifica este valor, se va a cambiar para todos también.

150
00:10:55,780 --> 00:10:56,380
Nada más.

151
00:10:56,440 --> 00:10:58,420
Continuamos en la siguiente clase.
