Curso Java  POO V. Paso de parámetros. Vídeo 31

Curso Java POO V. Paso de parámetros. Vídeo 31

Introducción a la Programación Orientada a Objetos en Java

Conceptos Iniciales

  • Bienvenida al curso de programación en Java, donde se retoma el tema de los métodos relacionados con la encapsulación en programación orientada a objetos.
  • En este video se abordará el trabajo con métodos setter y getter, así como el concepto de paso de parámetros.

Construcción del Objeto Coche

  • El objetivo es construir un programa que fabrique coches virtuales, definiendo características comunes y trabajando con métodos setters y getters.
  • Se presentan dos clases: Coche (que define las características del coche) y UsoCoche (la clase principal que contiene el método main).

Métodos Setter y Getter

  • Se han declarado variables para características específicas de cada coche, como color, peso total y asientos de cuero.
  • Se revisa la diferencia entre los métodos setter (que establecen valores) y getter (que devuelven valores), usando como ejemplo el color del coche.

Ejemplo Práctico: Color del Coche

  • En la clase principal se instancia un objeto miCoche, pero inicialmente muestra que su color es nulo porque no se ha establecido.
  • Se explica que esto ocurre porque se comentó la línea que asignaba el color azul al coche.

Paso de Parámetros

  • Para permitir elegir un color diferente al azul, se introduce el concepto de paso de parámetros al método setter.
  • Al llamar al método setter para establecer el color, ahora se pasará un parámetro junto con la llamada.

Implementación del Método Setter

  • Se modifica el método setter para recibir un argumento que representa el color del coche. Esto permite personalizarlo según lo desee el usuario.
  • La declaración del argumento dentro del método permite recoger ese valor cuando se llama al método desde una instancia.

Manejo de Errores en Eclipse

  • Al intentar usar el nuevo método sin pasarle un argumento adecuado, Eclipse marcará un error indicando que falta información necesaria.

Introducción al Método estableceColor

Uso del método estableceColor

  • Se presenta el método estableceColor, que permite seleccionar y establecer un color en Eclipse. Al usar las flechas del teclado, se puede acceder a este método y automáticamente Eclipse construye el nombre del mismo.
  • Eclipse indica que el argumento debe ser de tipo String, lo que significa que se debe pasar un valor de texto, como "amarillo", para llamar correctamente al método.

Implementación del Método

  • El método estableceColor está vacío y necesita ser completado. Se menciona la necesidad de inicializar la variable color dentro de la clase coche.
  • La variable color se asigna con el valor pasado al método, permitiendo así definir características específicas para cada objeto coche.

Ejecución y Comportamiento del Código

Visualización de Clases

  • Se comparan dos clases: una para el coche y otra principal. Al ejecutar el programa Java, se crea un objeto coche y se llama al método estableceColor.
  • Al pasar "amarillo" como parámetro, este valor se almacena en la variable correspondiente dentro del objeto coche.

Manipulación de Variables

  • La variable local color es igualada a "amarillo", reflejando así el color actual del coche.
  • Si se cambia el valor a "verde" o "marrón", la consola mostrará estos colores según los parámetros pasados al ejecutar nuevamente el programa.

Problemas de Encapsulación

Violación de Principios OOP

  • Se identifica un problema de encapsulación en el código actual. Aunque funciona correctamente, permite manipular directamente propiedades del objeto.
  • Se muestra cómo es posible cambiar directamente la propiedad color sin utilizar métodos adecuados, lo cual va en contra de las reglas de programación orientada a objetos.

Soluciones Propuestas

  • Para evitar esta violación, es necesario encapsular las propiedades utilizando modificadores de acceso como private. Esto asegura que solo puedan ser manipuladas mediante métodos específicos.

¿Cómo manipular propiedades de objetos en programación?

Encapsulación y métodos en objetos

  • Se discute la importancia de utilizar el canal adecuado para manipular las propiedades de los objetos, como el color, a través del método estableceColor.
  • Se menciona que se ha creado una pareja de métodos getter y setter para modificar y obtener el color del objeto tipo coche.
  • Se modifica un método getter previamente creado, cambiando su nombre a dimeDatosGenerales para devolver información más completa sobre el coche.

Implementación del método dimeDatosGenerales

  • El nuevo método dimeDatosGenerales devuelve todas las propiedades comunes del objeto coche, no solo el largo.
  • Se utiliza un string concatenado para presentar características como número de ruedas, largo en metros y ancho en centímetros.
  • La plataforma del vehículo se describe con detalles específicos: cuatro ruedas, medidas en metros y centímetros.

Pruebas del método implementado

  • Se crea un único método getter que proporciona todos los datos generales establecidos en el constructor al crear una instancia de la clase coche.
  • Al probar el método, se verifica que devuelve correctamente la información sobre las características físicas del vehículo.

Modificación adicional: Asientos de cuero

  • Se introduce la opción de configurar asientos de cuero mediante un par de métodos setter y getter.

Introducción a la Declaración de Variables en Java

Parámetros y Tipos de Datos

  • Se declara un parámetro de tipo string llamado asientos cuero, que se utilizará para establecer el color del coche.
  • El método setter anterior utilizaba un argumento llamado color coche para asignar valor a la variable color, estableciendo así el color del coche.

Confusión entre Nombres de Variables

  • Se plantea una situación donde el nombre del argumento coincide con el nombre de la variable, lo que puede causar confusión al referirse a ellas.
  • Al igual que con el color, se intenta asignar asientos cuero igual a sí mismo, lo cual genera ambigüedad.

Uso del Operador 'this'

  • Para evitar confusiones entre nombres coincidentes, se utiliza el operador this, que hace referencia a la variable de clase.
  • Al anteponer this. al nombre de la variable, se indica claramente que se está refiriendo a la variable de instancia y no al argumento.

Errores Comunes y Panel Outline en Eclipse

  • Se menciona un error relacionado con tipos incompatibles (string vs boolean), destacando la importancia del tipo correcto en las variables.
  • El panel "Outline" en Eclipse es útil para visualizar las propiedades y métodos declarados en una clase, facilitando su identificación.

Configuración del Método Setter

  • Se explica cómo configurar correctamente un método setter utilizando condiciones (if) para validar los argumentos recibidos.
  • La lógica establece que si el argumento es "sí", entonces asientos cuero será verdadero; cualquier otro valor lo establecerá como falso.

Creación del Método Getter

  • Se introduce la creación de un método getter llamado dime asientos, que devolverá información sobre si hay asientos de cuero o no.

Configuración de Asientos en un Coche

Introducción a la Lógica del Método

  • Se menciona que el método return tiene un error debido a la condición del if, lo que impide devolver un valor si no se cumple la condición.
  • Es crucial que el método siempre devuelva un valor, ya sea verdadero o falso, para evitar errores en la ejecución.

Funcionamiento de los Métodos

  • El método configuraAsientos recibe un parámetro tipo string ("sí" o "no") y ajusta la variable de asientos de cuero según el valor recibido.
  • Si se pasa "sí", se establece que los asientos son de cuero; cualquier otro valor resultará en asientos de serie.

Implementación en la Clase Principal

  • En la clase principal, después de solicitar datos generales y color del coche, se llama al método configuraAsientos.
  • Se utiliza una instancia llamada miCoche para configurar los asientos y verificar su estado mediante el método correspondiente.

Ejecución y Resultados

  • Al ejecutar el programa, se imprime si el coche tiene asientos de cuero o no, dependiendo del parámetro ingresado.
  • Se demuestra cómo cambiar el parámetro afecta directamente al resultado impreso sobre los asientos del coche.

Futuras Mejoras y Características

Video description

Seguimos construyendo el objeto y vemos en este vídeo en qué consiste el paso de parámetros o argumentos. Para más cursos, ejercicios y manuales visita: http://www.pildorasinformaticas.com