Curso Java. POO II. Vídeo 28

Curso Java. POO II. Vídeo 28

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

Conceptos Básicos de la Programación Orientada a Objetos

  • La programación orientada a objetos busca trasladar el comportamiento de los objetos de la vida real al código, facilitando así la programación para los humanos.
  • El objetivo es que las aplicaciones complejas sean más fáciles de manejar, imitando el comportamiento de objetos reales.
  • En Java, todo se considera un objeto, lo que implica una estructura completamente orientada a objetos.

Términos Clave en Programación Orientada a Objetos

  • Se abordarán términos como clase, objeto, instancia y encapsulamiento, que pueden parecer complejos al principio.
  • La modularización se explicó con ejemplos prácticos para facilitar su comprensión.

Definición y Ejemplo de Clase

  • Una clase es un modelo que define características comunes entre un grupo de objetos.
  • Se utiliza el ejemplo del coche para ilustrar cómo diferentes modelos comparten una plataforma común (estructura base).

Ejemplo Práctico: Plataforma de Coche

  • Muchos coches comparten plataformas similares aunque sean de marcas diferentes; esto representa cómo las clases definen características comunes.
  • Los coches son considerados objetos construidos a partir de una clase definida por sus características compartidas.

Identidad y Diferenciación entre Objetos

  • Aunque los coches comparten una plataforma (clase), cada uno tiene elementos únicos que los diferencian (identidad propia).

¿Qué son los objetos y clases en programación?

Propiedades y comportamientos de los objetos

  • Un objeto en la vida real tiene propiedades como color, peso, altura y longitud, así como comportamientos que le permiten realizar acciones como arrancar, frenar, girar y acelerar.
  • Las propiedades también se conocen como atributos en programación. Los comportamientos de un objeto son las acciones que puede llevar a cabo.

Programación de clases y objetos en Java

  • En Java, se puede programar una clase (por ejemplo, "Coche") que define características comunes a todos los objetos de ese tipo. Esto permite crear diferentes instancias con sus propias propiedades y comportamientos.
  • Antes de implementar el código en Eclipse, se utiliza pseudo código para representar cómo se modificarían las propiedades o atributos de un objeto.

Nomenclatura del punto

  • La nomenclatura del punto es fundamental para acceder a las propiedades de un objeto. Se utiliza el formato: nombreDelObjeto.propiedad = valor.
  • Ejemplo: Para cambiar el color del objeto "renault", se escribiría renault.color = rojo. Este método también aplica para otras propiedades como peso o dimensiones.

Acceso a comportamientos mediante métodos

  • Para acceder al comportamiento (métodos) de un objeto, se usa la misma nomenclatura: nombreDelObjeto.método(). Por ejemplo: renault.arrancar() indica que el coche está arrancando.
  • Se mencionan métodos predefinidos en Java como random, round, entre otros. Estos métodos permiten realizar acciones específicas sobre los objetos.

Implementación práctica en Eclipse

  • El siguiente paso es trasladar estos conceptos teóricos a código real utilizando Eclipse. Se comenzará creando una clase que defina el modelo común para un grupo de objetos.

Introducción a la Organización de Clases en Java

Creación de Paquetes y Clases

  • Se presenta la ventana para crear una nueva clase en Java, destacando que no es necesario crear un paquete para que el programa funcione.
  • Se menciona que al crear una clase, aparece un mensaje advirtiendo sobre el uso del paquete por defecto, lo cual está desaconsejado.
  • El uso de paquetes es importante para organizar correctamente el código, evitando la creación desordenada de clases.

Importancia de los Paquetes

  • Crear un paquete implica organizar el código en carpetas, facilitando su gestión y comprensión.
  • Los nombres de los paquetes deben estar en minúsculas y no contener espacios; se crea un paquete llamado "p" para programación orientada a objetos.

Estructura del Proyecto

  • Al finalizar la creación del paquete y la clase "coche", se observa cómo Eclipse organiza las clases dentro del explorador de archivos.
  • La estructura resultante incluye una carpeta "src" con subcarpetas correspondientes a los paquetes creados.

Relación entre Clases

  • La organización mediante paquetes permite agrupar clases relacionadas, mejorando así la legibilidad y mantenimiento del código.
  • Eclipse añade automáticamente una instrucción package al inicio de cada clase creada dentro de un paquete.

Definición de Características Comunes en Clases

Especificación de Atributos

  • Se inicia la creación de atributos comunes para la clase "coche", comenzando con el número de ruedas como variable entera.
  • Se discuten otras características comunes como largo y ancho, también definidos como variables enteras.

Detalles Adicionales sobre Atributos

¿Cómo se define un objeto coche en Java?

Definición de variables y características del coche

  • Se mencionan las características del motor, como su cilindrada (1600, 1800, 2000), que son números enteros. También se habla del peso de la plataforma, que se especifica en kilos (600-700 kg).
  • Se establece la necesidad de definir cuántas ruedas tiene el coche y otras características como el largo, ancho y peso. Esto se realiza mediante métodos en Java.

Introducción al método constructor

  • Se explica qué es un método constructor: un método especial que asigna un estado inicial a un objeto. Ejemplos previos incluyen métodos como random o round.
  • Un método constructor debe tener el mismo nombre que la clase; por ejemplo, si la clase es "Coche", el constructor también debe llamarse "Coche".

Estructura del método constructor

  • La estructura básica incluye abrir llaves después de los paréntesis y comenzar a definir las propiedades del objeto, como el número de ruedas.
  • Se indica cómo establecer valores iniciales para las propiedades: por ejemplo, cuatro ruedas, largo de 2000 cm, ancho de 300 cm y motor de 1600 cc.

Consideraciones sobre programación orientada a objetos

  • El peso base de la plataforma se establece en 500 kg. Se menciona que al agregar otros componentes (carrocería, asientos), el peso total aumentará.
  • Se reconoce que hay aspectos teóricos incorrectos en lo discutido hasta ahora; esto será aclarado más adelante.

Creación y gestión de clases en Eclipse

  • La clase creada se guarda utilizando controles o pulsando el ícono correspondiente en Eclipse. Es importante recordar que un programa Java puede contener múltiples clases.
  • En este caso particular, se desarrollarán dos clases: una para la plataforma del coche y otra para su uso práctico.

Navegación entre clases en Eclipse

  • Al crear una nueva clase llamada "UsoCoche", Eclipse permite abrir varias pestañas para facilitar la navegación entre diferentes clases dentro del proyecto.

Creación de una Clase en Programación

Introducción a la Clase Coche

  • Se presenta la creación de una clase llamada "coche", donde se define el primer objeto que pertenecerá a esta clase.
  • El nombre del objeto se establece, en este caso "renault", seguido del operador new y el constructor correspondiente.

Instanciación de Clases

  • Se explica que "renault" es un ejemplar o instancia de la clase coche, lo que implica ejemplarizar dicha clase.
  • Al instanciar la clase, se pueden realizar diversas operaciones sobre el objeto creado.

Acceso y Modificación de Propiedades

  • Para acceder o modificar propiedades de un objeto, se utiliza la notación punto: nombreDelObjeto.propiedad.
  • Se menciona cómo visualizar las propiedades utilizando la consola o ventanas emergentes como JOptionPane.

Ejemplo Práctico con Consola

  • Se ilustra cómo imprimir en consola el valor de una propiedad (ruedas), concatenando texto con el acceso a dicha propiedad.
  • Eclipse proporciona asistencia automática al escribir el código, mostrando las propiedades disponibles del objeto.

Resultados y Reflexiones Finales

  • Al ejecutar el código, se confirma que "este coche tiene cuatro unidades" al acceder correctamente a la propiedad ruedas.
Video description

Continuamos viendo en qué consiste la POO. Comenzamos a ver algún ejemplo práctico en Java de POO. Para más cursos, ejercicios y manuales visita: http://www.pildorasinformaticas.com