Continuamos con las variables estáticas de la clase.
Ya habíamos visto algo durante el curso.
Habíamos hablado, mencionado, pero bueno, ahora la idea es profundizar un poco más sobre este concepto
y verlo en un ejemplo.
Entonces, recordando un atributo o método estático de la clase, no le pertenece a la instancia del
objeto en sí, sino de la clase.
Por lo tanto, es compartido por cualquier objeto de esa clase.
De tal forma que si un objeto en particular modifica este valor estático, se va a modificar también
para el resto.
Se podría decir que es un atributo genérico y compartido por todas la instancias de la clase.
Vamos a ir automóvil, vamos a subir, vamos a crear un atributo estático.
Por ahora lo dejamos sentir sin privé, sin públic, solamente en Ford.
Lo primero es la palabra reservada, estática.
Es un modificador que indica que es estática.
Luego viene el tipo auto.
Por ejemplo, es Trenc y el nombre, por ejemplo, puede ser color patente, color patente la patente
del automóvil que como el identificador número donde cada país tiene su propia patente.
En fin, bueno, le vamos a dar el color naranja, por lo tanto cualquier objeto automóvil va a tener
un color de patente naranja y estático.
Por lo tanto, para todos igual un objeto en particular, por ejemplo, un Subaru no podría tener un
color de patente distinta que Nissan o cualquier otro.
No son todos iguales.
La idea era demostrar este atributo estatico, ya sea en detalle o incluso en tus Trenc acá, pero bueno,
mejor en ver detalle por acá.
Entonces bajamos acá un salto línea.
Recuerden como es de la clase, no del objeto.
No puedo acceder con el disputo color.
Bijan no aparece, es decir, no podría acceder, pero de hecho se colocó control y espacio.
Acá lo tengo ya, pero me marca un Guarne, ya que lo correcto es acceder de forma estática, que solamente
un atributo en el contexto se invoca con el nombre, nada más en nombre del atributo concatenados.
Bueno, como estamos dentro de la misma clase puede ser solamente el atributo, pero también puede ser
con el nombre de la clase punto el atributo estatico.
Esa sería otra forma de automóvil.
Punto.
El atributo lo dejamos de esa forma mejor porque estamos dentro de la clase.
Bien, estamos listo y el atributo lo imprimimos o mostramos en detalle.
Y por no modificar esta clase, que tiene ya mucha cosa, vamos a crear una nueva clase, a partir de
entonces copiamos, pegamos.
Y le colocamos de ejemplo automóvil Static refracta mientras toca, los vamos a quitar, por ejemplo,
todo acá.
Los cuales.
Dejamos solamente el detalle, quitamos esto, los cuales acá la fecha y quizás auto a otro como dejar
quitemos el importe, no lo estamos utilizando.
OK, vamos a imprimir por defecto naranja, naranja, naranja, naranja.
Por tanto Mazda, Nissan y el otro Nissan bueno y Subaru naranja.
Incluso acá podríamos copiar, aunque Nisán iniciando.
Recuerden que son muy parecidos.
Tienen los mismos datos, exactamente los mismos datos.
Naranja.
Ahora qué pasa?
Por ejemplo, si Nisán dos modifica el color.
Recuerden que desde fuera la clase automóvil, por ejemplo, acaba con el método Moine.
Podemos acceder a este atributo estatico con el nombre.
La clase nombre.
La clase punto.
Ejemplo automóvil punto color patente, ya que lo podemos modificar.
Bueno, se puede modificar de forma directa, ya que es diferente.
Si fuese Privat no se puede modificar con el atributo, sino tiene que ser con un método C.T.
Después vamos a ver, pero por ahora lo dejamos así.
Simple, verde.
Y lo vamos a probar.
Todos tienen color verde, ahora se quejan porque estatico le pertenece a la clase y no al objeto,
no a la instancia.
Ahora incluso una instancia por ejemplo Nisán 2, un objeto o Subaru da lo mismo.
Cualquiera podría modificar a través de la instancia el atributo estático.
Lo puede hacer?
Sí se puede, pero no es la mejor práctica.
De todas formas, que muestra un warne y en el warning recomienda que se utilice de forma estática con
el nombre la clase.
Por ejemplo, acceder al atributo estático con automóvil punto color patente vía el nombre de la clase
y no el objeto.
Bueno, acá solamente lo estoy haciendo a través del objeto para que vean que si se modifica este valor
cambia para Nisán, para Mazda y para Subaru.
Levantamos.
Ahora campe azul para todos se fijan de forma estática.
Entonces lo importante, a diferencia del atributo común y corriente que da la instancia cuando cambia
el color por ejemplo gris oscuro o rojo o lo que sea.
Por ejemplo, nisán punto color o set color.
En realidad es distinto porque este atributo es propio del objeto, entonces solamente cambia para él,
no cambia para el resto.
Entonces Nisán es el único que va a tener color amarillo.
Se fijan y de hecho en Nissan 2 amarillo, porque Nissan uno gris oscuro.
Mazda color rojo, pero sin embargo, el atributo estatico.
Se cambia para todo.
Entonces la diferencia de la clase versus la instancia bien puede mejorar un poco más el código acá
automóvil.
Voy a colocar Privat.
Ya está bien, Privat ahora marca error por acá.
Debería marcar error acá.
Se fijan, aunque lo correcto sería con el nombre de la clase automóvil.
De esa forma, pero igualmente marca error porque es un atributo privado.
No se puede acceder de forma directa.
Es privado.
Entonces?
Bueno, acá tendremos que implementar métodos yeater y setter.
Hasaka.
íbamos a crear el jet set para este tributo estático, pero este método jet set también debe ser estático.
Siempre un atributo estático tiene que ir de la mano con un método estático y viceversa.
Entonces, por acá, al final o acá, vamos a tener un públic estático y retorna un estricto jet color
patente,
rotor, color patente.
Entonces, un método IET para un atributo estático tiene que ser estático y lo mismo el set
para el set es bait cepp color patente.
Fijan color patente, acá queda ambiguo cómo podemos diferenciar el atributo estático al cual le queremos
pasar el nuevo valor del argumento del método.
Recuerden, uno es el atributo estático de la clase y el otro el argumento, el método.
Entonces, a qué se diferencia?
No podemos usar tiz porque sabemos que es bueno.
De hecho, no puede usar un diseño en un contexto estático.
Además que color patente no es la instancia de la clase.
Entonces usamos el nombre de la clase automóvil punto color patente.
Se fijan con el nombre de la clase punto, el atributo privat, pero como estamos dentro de la misma
clase, lo podemos asignar.
Entonces ahora vamos acá y utilizamos el método C.T.
Se fijan esa serie en la forma correcta Cecco la patente desde fuera y para leer Get.
Entonces por acá un automóvil punto Jeep color patente.
No hago referencia a ninguna instancia, sino directamente con el nombre de la clase.
Azúl.
Y otro punto importante.
Bueno, voy a dar esta clase, está lo de cerrar dejando solamente estáte y automóvil automóvil.
Por acá, en el método calcular consumo, por ejemplo, solamente para el ejemplo.
Qué pasa si este método fuera estático?
Lo voy a copiar, lo voy a pegar y lo voy a renombrar.
Calcular consumo estático?
Bien.
Y le voy a colocar acá public estática para que sea estático.
Acá marca error.
Por qué?
Porque este es un atributo o miembro de la instancia.
Es un atributo común y corriente capacidad tanke y recuerden, en un método estático no puede utilizar
atributos de la clase que sean común y corriente, a menos que sean estatico.
Recuerden que capacidad del tanque de la instancia.
Entonces no utilizar el diseño, ya que no es parte del contexto estático y sequito.
Aldiz tampoco, porque de forma explícita hace referencia a un miembro de la clase a un atributo común
y corriente que no es estático.
Por lo tanto, no es parte del contexto estático.
Entonces, en un método estático solamente podemos trabajar con atributos estáticos o bien o en conjunto,
también con argumentos que se pasan por el método o valores estáticos.
También, por ejemplo, si colocamos en cuenta ningún problema.
Pero no puede ser un atributo, entonces para este caso podríamos crear un atributo estático capaz de
ataque estático.
Acá voy a colocar estatico y lo vamos a crear.
Lo voy a copiar.
Por acá arriba Privat Static capaza tanke del tipo entero con un valor de 30, por ejemplo.
Ya dice que si ahora no da error y este tributo sería el que creemos recién el estatico, lo podemos
utilizar así como estamos dentro de la clase o bien automóvil, punto, capacidad, tanke de forma explícita.
Pero este cálculo consumo sería idéntico para cualquier automóvil, ya que es estático.
Ya sea para Subaru, para Nissan, para Mazda, ya que es 30 30 para todos y si cualquiera de ellos
modifica este valor, se va a cambiar para todos también.
Nada más.
Continuamos en la siguiente clase.