Curso Java POO VI. Construcción objetos. Vídeo 32
Construcción de un Objeto Coche en Java
Introducción al Curso
- Bienvenida a la entrega del curso de programación en Java, donde se finalizará la construcción del objeto tipo coche.
- Se revisarán los métodos getters y setters, así como el concepto de paso de parámetros.
Métodos Getters y Setters para Climatizador
- Se creará un par de métodos para configurar el climatizador del coche, similar a los métodos anteriores para los asientos.
- El primer método setter se llamará
configuraClimatizador, que recibirá un parámetro tipo string llamadoclimatizador.
- Si el parámetro es igual a "sí", se establecerá la variable booleana
climatizadoren true; de lo contrario, será false.
Método Getter para Climatizador
- Se implementará un método getter llamado
tieneClimatizador, que devolverá un string indicando si el coche tiene o no climatizador.
- Si
climatizadores true, retornará "el coche incorpora climatizador"; si es false, retornará "el coche lleva aire acondicionado pero no climatizado".
Establecimiento del Peso Total del Coche
- Se discutirá cómo establecer el peso total del coche considerando varios factores como carrocería y asientos.
- Se introducirá un método que actuará como setter y getter simultáneamente, aunque esta práctica no es recomendada en programación orientada a objetos.
Comparación con Máquinas Expendedoras
Creación de un Método en Programación
Introducción al Método
- Se inicia la creación de un método llamado
dimePesoCoche, que es un modificador de acceso público y devuelve un dato de tipostring. Este método no recibe parámetros.
Declaración de Variables
- Se declara una variable entera llamada
pesoCarrocería, introduciendo el concepto de ámbito, donde se menciona que las variables pueden ser locales o globales. La variable solo será visible dentro del método.
Cálculo del Peso Total
- Se establece que los coches tendrán una carrocería con un peso aproximado de 500 kilos. Además, se menciona la variable
pesoTotal, que refleja el peso total del coche.
- El
pesoTotalse calcula sumando el peso de la plataforma (500 kg) y el peso de la carrocería (500 kg), resultando en 1000 kg para un coche sin extras.
Evaluación de Extras
- Se evalúa si el coche tiene asientos de cuero. Si es verdadero (
true), se suma 50 kg alpesoTotal.
- También se evalúa si hay climatizador; si está presente, se añaden 20 kg al
pesoTotal.
Devolución del Resultado
- Al finalizar las evaluaciones, el método devuelve un string con el valor acumulado en
pesoTotal, cumpliendo así su función como setter y getter.
Buenas Prácticas en Programación
- Aunque este método funciona correctamente, no es recomendable mezclar funciones setter y getter. Es mejor dividirlas para mantener buenas prácticas en programación.
Creación del Método para Calcular Precio
Introducción al Método Precio
Cálculo del Precio Final de un Coche
Definición y Asignación Inicial del Precio
- Se establece una variable llamada
precio final, comenzando en diez mil euros, que representa el costo base de un coche sin extras.
- El precio se ajusta según las características adicionales del coche, como asientos de cuero o climatizador.
Incremento del Precio por Extras
- Si el coche tiene asientos de cuero (
asientos cuero = true), se incrementa elprecio finalen 2000 euros.
- Para el climatizador, si está presente (
climatizador = true), se añade 1500 euros alprecio final.
Métodos y Estructura de la Clase Coche
- Se menciona que el método utilizado para calcular el precio es un "método éter", ya que no modifica ninguna variable de clase.
- La clase incluye propiedades comunes y específicas, con un método constructor público para establecer su estado inicial.
Acceso a Propiedades y Métodos
- Las propiedades están encapsuladas; solo pueden ser modificadas a través de métodos específicos (getters y setters).
- Se crea una instancia de la clase
Coche, configurando sus propiedades como color, asientos y climatizador.
Pruebas e Interacción con la Consola
- Se configura si el coche tiene climatizador mediante un método específico, permitiendo al usuario elegir entre "sí" o "no".
- Al consultar las propiedades del coche en consola, se imprime información sobre color, asientos y si tiene climatizador.
¿Cómo se calcula el precio y peso de un coche con climatizador y asientos de cuero?
Cálculo del peso y precio inicial
- El coche pelado pesa 1000 kilos, y el climatizador añade 20 kilos al peso total. Se verifica que solo se incrementa el peso por los 20 kilos del climatizador.
- El precio base del coche es de 10,000 euros; al añadir asientos de cuero, el precio final se eleva a 13,500 euros.
Mejora en la interacción del programa
- Se sugiere que sería más elegante solicitar datos como la configuración del asiento y el color mediante una ventana emergente en lugar de codificarlos directamente.
- Se propone utilizar
JOptionPanepara pedir información al usuario sobre las características del coche.
Implementación de JOptionPane
- Para usar
JOptionPane, es necesario importar el paquete correspondiente (javax.swing) antes de modificar los métodos que establecen características como color o tipo de asientos.
- Se implementa un diálogo para preguntar si tiene asientos de cuero, permitiendo respuestas "sí" o "no".
Comparación correcta de cadenas
- Al probar el programa, se observa que no respeta las indicaciones dadas porque no se comparan correctamente las cadenas (strings). En Java, las cadenas deben compararse usando métodos específicos como
equals.
- Es crucial utilizar
equalsen lugar del operador doble igual (==) para comparar cadenas en Java.
Ajustes finales y pruebas
- Se ajustan los métodos setters para usar
equalsIgnoreCase, lo cual permite ignorar mayúsculas o minúsculas durante la comparación.
¿Cómo construir un objeto de tipo H?
Conceptos fundamentales en la construcción de objetos
- Se concluye la construcción del objeto de tipo H, enfatizando que es importante entender los conceptos básicos involucrados.
- Se destacan las propiedades del objeto, que son características esenciales que definen su estado y comportamiento.
- La encapsulación se menciona como una práctica clave para proteger los datos dentro del objeto, limitando el acceso directo a sus propiedades.
- Se explica el papel del constructor, que es un método especial utilizado para inicializar nuevos objetos con valores predeterminados o específicos.