Curso Java  POO IX. Construcción objetos IV. Vídeo 35

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 Empleado que 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 clase Empleado.

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 new para 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 subeSueldo para 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.print junto 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 for tanto 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 Stream es predefinida en Java, mientras que Empleado es una clase creada por el usuario. Se trata de crear un array para almacenar objetos de la clase Empleado.
  • 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 for para 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 for donde la variable y puede 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 for mejorado, 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 for mejorado, 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 for mejorado 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.
Video description

Terminamos el ejemplo de la clase Empleado creando las instancias correspondientes en la clase principal. Utilizamos un Array para almacenar los objetos de tipo Empleado y bucles for-each para recorrer el Array. Para más cursos, ejercicios y anuales visita: http://www.pildorasinformaticas.com