Curso Java POO VIII. Construcción objetos III. Vídeo 34
Introducción a la Programación en Java
Contexto del Curso
- Bienvenida al curso de programación en Java, donde se retoma un ejemplo anterior sobre la creación de un objeto de tipo empleado.
- Se busca construir un objeto con propiedades como nombre, sueldo y fecha de alta, además de un método para aumentar el sueldo.
Estructura del Código
- Se menciona que se está utilizando un único archivo fuente con dos clases: la clase principal (que contiene el método
main) y la claseEmpleado.
- Las variables o campos de clase se declaran con el modificador
privatepara encapsularlas y evitar modificaciones externas.
Construcción del Constructor
Parámetros del Constructor
- El constructor recibirá cinco parámetros: uno de tipo
String, dos de tipodouble, y tres de tipoint.
- Se asignan los valores pasados como parámetros a las variables correspondientes dentro del constructor.
Establecimiento de la Fecha
- Para establecer la fecha de alta, se utilizará la clase predefinida
GregorianCalendar, que permite crear una fecha específica.
- La clase
GregorianCalendarconstruye una fecha basada en día, mes y año.
Uso de Clases Predefinidas
Exploración de GregorianCalendar
- Se accede a la documentación para entender cómo funciona la clase
GregorianCalendary sus constructores.
- La clase pertenece al paquete
java.util, que ya ha sido importado previamente.
Constructores Disponibles
- Existen múltiples constructores en esta clase; uno por defecto que utiliza el tiempo actual y otro que permite establecer una fecha específica mediante parámetros.
- Es importante notar que los meses deben ser representados como enteros desde 1 (enero) hasta 12 (diciembre).
Implementación Práctica
Creación del Objeto Calendar
¿Cómo crear un objeto de tipo GregorianCalendar?
Creación del objeto y uso del constructor
- Se inicia la creación de un objeto de tipo
GregorianCalendaral que se le asigna el nombre "calendario". Esto se realiza utilizando el operadornew, lo que invoca el constructor de la clase.
- Al utilizar el segundo constructor, es necesario pasar tres parámetros enteros: año, mes (menos uno) y día. El mes se resta en uno porque enero corresponde a cero.
- Se recuerda que este constructor recibe los parámetros mencionados para establecer una fecha específica en el objeto
calendario.
- Se define otra variable llamada "altaContrato" que almacenará la fecha establecida en el objeto
calendario, utilizando los parámetros pasados al constructor.
- Para obtener la fecha almacenada, se utiliza el método
getTime()perteneciente a la claseGregorianCalendar, lo cual permite acceder a la información de tiempo configurada en el objeto.
Métodos y herencia en programación orientada a objetos
- A pesar de no encontrar directamente un método llamado
getTime()en la API, Eclipse sugiere que pertenece a la claseGregorianCalendar. Esto resalta cómo algunos métodos pueden ser heredados.
- La falta del método visible puede deberse a que está heredado de una clase superior. En este caso, se menciona que hay un método similar llamado
getTimeZone().
- Introducción al concepto de herencia: una característica clave en programación orientada a objetos donde una clase puede heredar propiedades y métodos de otra clase.
- Se compara la herencia con situaciones cotidianas; así como los hijos heredan bienes de sus padres, las clases pueden heredar atributos y comportamientos entre sí.
- En este contexto, se explica cómo la clase
GregorianCalendarhereda tanto métodos como propiedades de las clases superiores (CalendaryObject), ampliando su funcionalidad.
Exploración del árbol genealógico de clases
- Se ilustra mediante un diagrama cómo las relaciones jerárquicas entre clases funcionan: por ejemplo, si consideramos a
Objectcomo abuelo, luego aCalendarcomo padre y finalmente aGregorianCalendarcomo hijo.
- La importancia radica en entender que todos los métodos y propiedades disponibles en las clases superiores son accesibles para las subclases.
- Al explorar más sobre los métodos dentro de la clase superior (
Calendar), se confirma que efectivamente existe un método llamadogetTime(), lo cual valida su uso previo.
¿Cómo construir métodos en programación orientada a objetos?
Introducción a la construcción de métodos
- Se menciona que se debe almacenar un dato de tipo ID en una variable de tipo "alta contactos" y que el objeto calendario es del tipo "GregorianCalendar", lo cual permite manejar fechas específicas para trabajadores.
- Se concluye la explicación del constructor, que establece un estado inicial para el objeto empleado, preparando el terreno para los métodos necesarios.
Métodos Getter y Setter
Creación de métodos Getter
- Se inicia la creación del primer método getter, destinado a devolver el nombre del empleado. Este método será accesible desde otras clases.
- El método getter debe especificar su tipo de retorno (String), y no recibe parámetros. La estructura básica incluye abrir y cerrar llaves.
- Es necesario incluir una instrucción
returnen el getter para evitar errores; este retornará el nombre almacenado en la variable correspondiente.
Implementación de otros getters
- Se introduce otro método getter para devolver el sueldo del empleado, especificando que este es un valor de tipo doble debido a la posibilidad de decimales.
- Un tercer método getter se crea para obtener la fecha de alta del trabajador, utilizando un objeto de tipo Date como retorno.
Método Setter: Aumento del Sueldo
Construcción del setter
- Se presenta un método setter llamado "subeSueldo", diseñado para aumentar el sueldo sin devolver ningún valor. Este recibirá un parámetro que representa un porcentaje.
- Dentro del setter, se declara una variable llamada "aumento" que calcula cuánto se incrementará el sueldo basado en el porcentaje proporcionado por el usuario.
Ejemplo práctico
Creación de la Clase Empleado en Programación
Implementación del Operador y Constructor
- Se discute el uso del operador "más igual" para incrementar el sueldo establecido en el constructor de la clase empleado. Este incremento se realiza mediante una expresión que modifica el valor original.
- La clase empleado incluye un constructor que recibe varios parámetros, utilizando la clase
GregorianCalendarpara construir una fecha que se almacena en la variablecalendario.
Métodos de la Clase Empleado
- Se mencionan métodos sencillos dentro de la clase empleado: getters para obtener nombre, sueldo y fecha de alta, así como setters para modificar el sueldo.
- Una vez construida la clase empleado, se planea avanzar hacia la creación de instancias (ejemplares) de esta clase en un futuro video.
Preparativos para Instanciar Clases
- Se anticipa que en el próximo video se abordará cómo pasar parámetros al constructor al crear instancias de la clase empleado. Esto incluirá diversas formas y técnicas aprendidas hasta ahora.