Curso Java  POO VI. Construcción objetos. Vídeo 32

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 llamado climatizador.
  • Si el parámetro es igual a "sí", se establecerá la variable booleana climatizador en 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 climatizador es 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 tipo string. 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 pesoTotal se 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 al pesoTotal.
  • 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 el precio final en 2000 euros.
  • Para el climatizador, si está presente (climatizador = true), se añade 1500 euros al precio 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 JOptionPane para 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 equals en 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.
Video description

Terminamos de construir el objeto de tipo "Coche" de vídeos anteriores. Completamos el resto de métodos para modificar las propiedades del objeto. Para más cursos, ejercicios y manuales visita: http://www.pildorasinformaticas.com