Curso Java . Uso static. Vídeo 37

Curso Java . Uso static. Vídeo 37

Uso de la palabra reservada static en Java

Introducción a static

  • El video se centra en el uso de la palabra reservada static en Java, explicando su significado y las implicaciones que conlleva.
  • Se menciona que static puede aplicarse tanto a variables constantes como a métodos, convirtiéndolos en elementos de clase.

Ejemplo práctico

  • Se retoma un ejemplo del video anterior donde se trabaja con una clase llamada Empleados, que tiene un constructor y métodos para gestionar datos de empleados.
  • La clase incluye un método setter para cambiar la sección y un método getter para obtener los datos de los trabajadores.

Implementación de ID único

  • Se propone añadir un número identificativo (ID) único para cada trabajador, incrementándose correlativamente al crear nuevos objetos.
  • Se explica cómo asignar IDs únicos a los trabajadores sin repetir números, lo cual es común en empresas.

Desafíos sin static

  • Aunque es posible implementar el sistema sin usar static, se señala que podría volverse engorroso al manejar muchos trabajadores.
  • Se plantea la creación de una variable estática para simplificar el manejo del ID y evitar errores al asignar números.

Modificaciones necesarias

  • Para implementar el ID, se debe modificar el constructor de la clase Empleados para aceptar dos parámetros: nombre e ID.
  • Al instanciar objetos, hay que asegurarse de pasar ambos parámetros; esto genera un error si solo se pasa uno.

Verificación del funcionamiento

  • Se ajusta el método getter para devolver también el ID junto con el nombre y la sección del trabajador.

¿Cómo asignar IDs automáticamente a los trabajadores en Java?

Problemas con la asignación manual de IDs

  • Se menciona que al asignar el mismo ID a diferentes trabajadores, se corre el riesgo de tener IDs duplicados, lo cual es problemático.
  • La solución propuesta es que el programa Java asigne automáticamente los IDs de forma correlativa al crear nuevos trabajadores.

Introducción a la palabra reservada static

  • Se introduce el concepto de static, explicando su importancia para entender cómo funcionan las variables en Java.
  • Se presentan las variables declaradas en la clase: nombre, sección e ID, y se explica que cada objeto tiene su propia copia de estas variables.

Comportamiento de las instancias y copias de variables

  • Cada instancia (trabajador uno y trabajador dos) tiene una copia independiente de las variables, lo que significa que pueden almacenar valores diferentes.
  • Para evitar que cada trabajador tenga su propia copia del ID, se necesita una única variable compartida entre todos los objetos.

Implementación del modificador static

  • Al usar static, se logra que todos los objetos compartan la misma variable ID en lugar de tener copias individuales.
  • Se propone modificar el código para implementar esta solución y así permitir un manejo más eficiente del ID.

Cambios necesarios en el código

  • Se indica que hay que eliminar parámetros innecesarios relacionados con el ID en el constructor y ajustar la declaración del campo ID para hacerlo público y estático.

Manejo de ID en Clases de Empleados

Introducción a la Variable ID

  • Se discute cómo la variable ID no pertenece a un objeto específico, sino a la clase empleados, lo que provoca que todos los trabajadores tengan el mismo ID.

Incremento del Valor de ID

  • Al ejecutar el programa, se observa que tanto el trabajador uno como el dos tienen un ID igual a 1. Si se incrementa manualmente el valor de ID antes de imprimir los resultados del trabajador dos, este tendrá un ID diferente.

Uso Correcto de Variables Estáticas

  • Se explica que para utilizar una variable estática, es necesario referirse al nombre de la clase y no al objeto. Esto resalta la importancia del contexto en programación orientada a objetos.

Problemas con el Enfoque Actual

  • Aunque se puede incrementar manualmente el valor de ID antes de imprimir los datos, esto presenta problemas:
  • La necesidad constante de incrementar manualmente.
  • Violación del principio de encapsulación al declarar la variable pública.

Solución Propuesta para Mejorar Encapsulación

  • Se sugiere cambiar la declaración del ID a privada y crear una nueva variable estática llamada ID siguiente para manejar automáticamente los IDs sin intervención manual.

Implementación en el Constructor

  • En el constructor, se asigna ID igual a ID siguiente y luego se incrementa ID siguiente. Esto asegura que cada nuevo objeto creado obtenga un ID único automáticamente.

Ejemplo Práctico con Nuevos Trabajadores

Comprendiendo Variables Estáticas en Java

Introducción a las Variables Estáticas

  • Se explica cómo se utiliza system.out.println para devolver datos, mostrando el ID de un objeto (María) de la clase empleados.
  • La variable estática ID es única para cada objeto de la clase empleados, mientras que otras variables son copias individuales por objeto.

Acceso y Modificadores de Visibilidad

  • Se menciona que al intentar acceder a una variable estática privada desde fuera de su clase, se genera un error.
  • La constante Pi es pública y puede ser utilizada fuera de su clase, lo que permite entender mejor el concepto de accesibilidad.

Constantes y Modificadores

  • La declaración como final indica que el valor no puede cambiar; esto contrasta con la variable ID, que sí puede modificarse.
  • Si se intenta declarar ID siguiente como final, Eclipse marcará un error porque no se puede cambiar su valor si es constante.

Ejemplos Prácticos

  • En la clase donde se define Pi, este debe ser final ya que su valor siempre será 3.1416.
  • Para utilizar constantes o variables estáticas, se usa el nombre de la clase seguido del nombre de la variable o constante.

Reflexiones Finales sobre Aprendizaje

Video description

En este vídeo explicamos el uso de la palabra reservada static. Veos un ejemplo sencillo donde darle utilidad a una variable static. Para más cursos, ejercicios y manuales visita: http://www.pildorasinformaticas.com