Curso Java. Constantes Uso final. Vídeo 36
¿Cómo construir constantes en Java?
Introducción a las constantes
- El instructor da la bienvenida y presenta el tema del video: cómo construir constantes en Java utilizando la palabra reservada
final.
- Se menciona que se utilizará Eclipse para crear un ejemplo práctico, recordando que en videos anteriores se creó un único archivo fuente con dos clases.
Creación de un nuevo ejemplo
- Se decide dejar aparcado el archivo fuente anterior y crear un nuevo ejemplo más sencillo para explicar el uso de
finaly conceptos relacionados.
- Se crea una nueva clase llamada "pruebas" donde se implementará el método principal, dejando claro que este ejemplo es solo para fines educativos.
Estructura de la clase Empleado
- La clase "Empleado" será capaz de construir instancias con atributos como nombre y sección dentro de la empresa.
- El instructor enfatiza la importancia de modularizar creando cada clase en archivos diferentes, aunque por ahora lo hará todo en uno para facilitar la comprensión.
Definición de campos y constructor
- Se crean los campos privados para almacenar el nombre y sección del empleado utilizando encapsulación.
- Se explica que el orden de definición (campos o métodos) no es crucial; sin embargo, se opta por definir primero los métodos.
Implementación del constructor
- El constructor recibe un parámetro tipo String llamado
nom, asignando este valor al camponombre.
- Se establece una regla empresarial donde todos los nuevos empleados comienzan en el departamento de administración. Esto se refleja en el constructor al asignar automáticamente "administración" a la sección del empleado.
Métodos adicionales
Método para Cambiar Sección en Java
Implementación del Método cambiaSeccion
- El método recibe un parámetro de tipo String llamado
sección, que se utiliza para cambiar la sección de un objeto ya creado.
- Se utiliza
this.secciónpara diferenciar entre el campo de clase y el argumento del método, dado que ambos comparten el mismo nombre.
- Al asignar
this.sección = sección, se establece que la sección del objeto será igual a la proporcionada como argumento.
Creación de Métodos Getter
- Se menciona la necesidad de un método getter que devuelva información básica del trabajador, como su nombre y sección.
- El método getter se define con un tipo de dato String y debe incluir una instrucción
returnpara devolver los datos solicitados.
- La concatenación en el retorno incluye tanto el nombre como la sección del trabajador, formando una cadena descriptiva.
Instanciación de Objetos en Java
Proceso de Instanciación
- Se explica cómo instanciar objetos pertenecientes a la clase
Empleados, comenzando por definir el nombre del objeto seguido por el operadornew.
- Al crear un segundo objeto, se repite el proceso anterior asegurándose siempre de pasar un parámetro al constructor.
Estado Inicial de los Objetos
- Cada objeto tiene un estado inicial definido por los parámetros pasados al constructor; por ejemplo, "Paco" en administración.
- La asignación dentro del constructor asegura que las propiedades del objeto reflejen correctamente los valores iniciales proporcionados.
Visualización y Modificación de Datos
Impresión en Consola
- Para visualizar la información almacenada en los objetos, se utilizan instrucciones como
System.out.printlnjunto con métodos getters.
- Los resultados muestran claramente los nombres y secciones iniciales asignadas a cada trabajador tras su creación.
Cambio de Sección
- Si es necesario cambiar la sección de un trabajador (por ejemplo, "Paco"), se invoca el método
cambiaSeccion.
¿Cómo manejar variables constantes en Java?
Modificación de secciones y nombres en objetos
- Se discute la modificación de la sección de un empleado, donde Paco pertenece a recursos humanos y Ana a administración. Se menciona que no hay problemas hasta este punto.
- Introducción de un nuevo método setter para cambiar el nombre del empleado, denominado
cambiaNombre, que recibe un parámetro tipo String.
- El método
cambiaNombreasigna el nuevo nombre al objeto actual, similar al método que cambia la sección. Esto genera una reflexión sobre la lógica detrás de permitir cambios en el nombre.
- Se plantea si tiene sentido permitir que un trabajador cambie su nombre, ya que es algo poco común en comparación con cambiar de sección. Sin embargo, el programa permite esta acción sin errores.
- En el método Main, se muestra cómo cambiar tanto la sección como el nombre del objeto "Paco" a "María", lo cual resulta ilógico desde una perspectiva realista.
La importancia de las constantes
- Se argumenta que una vez establecido un valor inicial (como el nombre), debería permanecer inalterable durante toda la ejecución del programa.
- En programas complejos con múltiples clases y líneas de código, es crucial asegurar que ciertos valores no cambien. Para esto se introduce la palabra reservada
final.
- Al declarar una variable como constante usando
final, se evita cualquier modificación posterior a su valor después de ser asignado en el constructor.
- Eclipse indica errores cuando se intenta reasignar un valor a una variable declarada como final, resaltando así su naturaleza inmutable.
- Si intentas ejecutar el programa tras intentar modificar una constante, Eclipse mostrará mensajes de error indicando problemas irreparables debido a intentos de reasignación.
Conclusiones sobre constantes y programación
- La solución ante métodos innecesarios (como uno para cambiar nombres) es eliminarlos para mantener la integridad del programa y evitar confusiones sobre los valores constantes.
- Al eliminar métodos problemáticos y volver a ejecutar el programa, este funcionará correctamente asegurando que los valores establecidos permanezcan intactos durante toda su ejecución.
¿Qué es la constante Pi en Java?
Introducción a Pi y su uso en Java
- La constante Pi es una clase predefinida en la API de Java, utilizada para cálculos trigonométricos y áreas de figuras geométricas como circunferencias.
- El valor de Pi es 3.1416 (redondeado), y debe permanecer inalterable; ningún elemento del código debería poder cambiarlo.
Definición y Accesibilidad de Pi
- En la clase Math, se describe cómo está definida la constante Pi, accesible desde cualquier otra clase debido a su modificador de acceso público.
- Si el modificador fuera privado, solo sería accesible dentro de la clase Math, limitando su uso.
Importancia del Modificador Final
- La palabra clave
finalconvierte a Pi en una constante, asegurando que su valor no pueda ser modificado por ninguna parte del programa.