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
packageal 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
newy 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.