Curso Java POO IX. Construcción objetos IV. Vídeo 35
Introducción al Curso de Programación en Java
Continuación del Ejemplo de Clase Empleado
- Se da la bienvenida a los participantes y se menciona que se continuará con el ejemplo de la clase
Empleadoque quedó pendiente en el video anterior.
- Se recuerda que el ejemplo se está desarrollando en un único archivo fuente
.java, donde coexisten la clase principal y la claseEmpleado.
Instanciación de Objetos
- Se explica cómo instanciar la clase
Empleado, creando diferentes objetos y utilizando sus propiedades y métodos, como los getters y setters.
- Para instanciar un objeto, se debe usar el nombre de la clase seguido del nombre de la instancia, un signo igual y el operador
newpara llamar al constructor.
Pasar Argumentos al Constructor
- El constructor debe recibir cinco parámetros en orden específico: nombre (String), sueldo (double), año, mes y día (enteros).
- Ejemplo práctico: se asigna un nombre a un empleado, seguido por su sueldo. Se aclara cómo representar decimales en Java.
Creación de Múltiples Instancias
- Se establece que los datos deben ser pasados correctamente al constructor; si no coinciden con lo esperado, generará errores.
- Se crean múltiples instancias (
empleado1,empleado2,empleado3) modificando solo los datos necesarios para cada uno.
Uso de Métodos para Modificar Propiedades
- Una vez creadas las instancias, se puede utilizar métodos como
subeSueldopara modificar propiedades como el sueldo.
Modificación de Sueldos en un Programa
Proceso de Aumento de Sueldo
- Se inicia el proceso para aumentar el sueldo del primer empleado en un 5%, y se planea hacer lo mismo con los otros dos empleados.
- No se conoce el sueldo actual de los empleados, ya que solo se ha establecido un sueldo inicial en el constructor del objeto, que no refleja las modificaciones posteriores.
Impresión de Información
- Para mostrar la información en consola, se utiliza
System.out.printjunto con concatenaciones para incluir datos como nombre y sueldo.
- Se accede a los métodos getters para obtener el nombre y sueldo del primer empleado, utilizando la notación adecuada.
Visualización de Datos
- Se continúa concatenando cadenas para incluir más información, como la fecha de alta del empleado.
- Después de completar la impresión del primer empleado, se procede a realizar lo mismo para los otros dos empleados.
Resultados en Consola
- Al ejecutar el programa, se observa que los sueldos han aumentado correctamente al 5% y se muestra toda la información relevante sobre cada empleado.
- La fecha es generada por
GregorianCalendar, mostrando detalles como día, mes y año.
Optimización del Código
- Se plantea simplificar el código almacenando a los tres empleados en un array, evitando así redundancias al imprimir sus datos.
- El nuevo enfoque implica usar un bucle
fortanto para modificar sueldos como para recorrer e imprimir la información desde el array.
Implementación Alternativa
- Se comenta el código original antes de implementar una nueva versión que utiliza arrays. Esto permite comparar ambos enfoques.
Clase Array en Java y Tipos de Datos
Creación de un Array de Empleados
- La clase
Streames predefinida en Java, mientras queEmpleadoes una clase creada por el usuario. Se trata de crear un array para almacenar objetos de la claseEmpleado.
- Para almacenar información, se define el nombre del array como
misEmpleados, seguido de la posición donde se almacenará cada objeto.
- Se almacena el primer empleado, "Paco Gómez", con un sueldo de 85000 y año de alta 1990.
Preguntas sobre Arrays en Java
- Un estudiante pregunta cómo crear un array que almacene diferentes tipos de datos. En Java, esto no es posible debido a su fuerte tipado.
- A diferencia de otros lenguajes como VBA, en Java los arrays deben contener elementos del mismo tipo.
- La solución es crear una clase (como
Empleado) que contenga los diferentes tipos necesarios y luego crear un array para esa clase.
Almacenamiento Adicional y Modificación
- Se agrega otro empleado al array utilizando código reutilizado; se cambia la posición y los datos del nuevo empleado "Ana López".
- Se añade un tercer empleado "María Martín" con sus respectivos datos: sueldo 105000, año 2002.
Incremento Salarial
- Se planea aumentar el sueldo de todos los empleados en un 5%. Para ello, se utilizará un bucle
for.
- El bucle tradicional recorre el array desde la posición cero hasta la longitud del mismo para aplicar el incremento salarial.
Impresión de Información
- Después del ajuste salarial, se utiliza otro bucle
forpara imprimir la información actualizada de cada empleado.
Uso de bucles for en programación
Concatenación de datos
- Se menciona la creación de un bucle
fordonde la variableypuede tomar valores dependiendo del número de iteraciones (0, 1 o 2). Se busca concatenar el nombre del empleado con su sueldo y fecha de alta.
- La instrucción para obtener el sueldo se concatena con la fecha de alta, utilizando una estructura que permite acceder a los atributos del objeto empleado.
Comparativa entre bucles for tradicionales y mejorados
- Se discute la preferencia por un segundo método que utiliza un bucle
formejorado, argumentando que este reduce la cantidad de líneas de código y mejora la legibilidad.
- El presentador comienza a comentar el primer bucle
for, preparándose para sustituirlo por uno mejorado. Se explica cómo crear una variable tipo empleado dentro del nuevo contexto.
Implementación del bucle for mejorado
- Se aclara que se debe crear una variable singular (
empleado e) en lugar de plural al referirse al array. Esto es crucial para evitar errores en el código.
- Al utilizar el bucle
formejorado, se simplifica el acceso a los atributos del objeto empleado, haciendo más claro y directo el proceso.
Comparación final entre métodos
- El presentador realiza una comparación entre ambos tipos de bucles, destacando que ambos logran lo mismo pero con diferentes niveles de complejidad y claridad en el código.
- Concluye que aunque ambos métodos son válidos, considera más sencillo usar el bucle
formejorado debido a su simplicidad visual y funcionalidad equivalente.
Conceptos adicionales sobre programación orientada a objetos
- Se menciona brevemente la herencia como un tema futuro importante en programación orientada a objetos, sugiriendo que habrá más vídeos dedicados a este concepto.
- El presentador destaca cómo ha utilizado un único fichero fuente para manejar las clases relacionadas con empleados, contrastándolo con ejemplos anteriores donde se usaron múltiples ficheros.