¡Descarga Apuntes sobre orientacion a objetos (programacion) y más Diapositivas en PDF de Programación Java solo en Docsity!
Programación Orientada a Objetos
Departamento de Ingeniería
Telemática
Programación de sistemas
MATERIALES BASADOS EN EL TRABAJO DE DIVERSOS AUTORES: Carlos Alario Hoyos, Raquel M. Crespo García, Carlos Delgado Kloos, Mª Carmen Fernández Panadero, Natividad Martínez Madrid, Julio Villena Román
Programación BASADA en Objetos
Departamento de Ingeniería
Telemática
Programación de sistemas
MATERIALES BASADOS EN EL TRABAJO DE DIVERSOS AUTORES: M. Carmen Fernández Panadero, Raquel M. Crespo García Carlos Delgado Kloos, Natividad Martínez Madrid, Carlos Alario Hoyos
- Definir los conceptos básicos de la programación basada en objetos - Clases, objetos - Miembros (atributos, métodos) - Abstracción y ocultación de información
- Describir relación entre objeto y clase
- Crear un objeto sencillo y modelar
- sus características (por medio de atributos)
- su comportamiento (por medio de métodos)
Objetivos
- Clases y objetos
- Encapsulación de objetos o Abstracción funcional o Abstracción de datos
- Miembros de una clase (atributos y métodos)
- Paso de mensajes
- Sobrecarga de métodos
- Constructores
- Modificadores y acceso
- Paquetes
Contenidos
- Abstracción funcional
- Hay cosas que sabemos que los coches hacen pero no cómo lo hacen: - avanzar - parar - girar a la derecha - girar a la izquierda - … - Abstracción de datos - Un coche tiene además ciertos atributos: - color - velocidad - tamaño - …
¿Qué es un objeto?
- Es una forma de agrupar un conjunto de datos ( estado ) y de funcionalidad ( compor tamiento ) en un mismo bloque de código que luego puede ser referenciado desde otras partes de un programa
- La clase a la que pertenece el objeto puede considerarse como un nuevo tipo de datos.
¿Qué es un objeto?
Ejercicio 1
- Implementa la clase Bicicleta , la cual tiene tres atributos,
velocidadActual , platoActual y piñonActual , de
tipo entero y cuatro métodos acelerar() , frenar() ,
cambiarPlato(int plato) , y cambiarPiñon(int
piñon) , donde el primero dobla la velocidad actual, el
segundo reduce a la mitad la velocidad actual, y el tercero y
cuarto ajustan el plato y el piñón actual respectivamente según
los parámetros recibidos. La clase debe tener además un
constructor que inicialice todos los atributos.
- Crea dos objetos de la clase bicicleta: miBicicleta y
tuBicicleta
- Encapsulación : describe la vinculación de un comportamiento y un estado a un objeto en particular.
- Ocultación de información: Permite definir qué partes del objeto son visibles (el interfaz público) que partes son ocultas (privadas) - La llave de contacto es un interfaz público del mecanimo de arranque de un coche - La implementación de cómo arranca realmente es privada y sobre ella sólo puede actuar la llave de contacto El objeto puede cambiar y su interfaz público ser compatible con el original esto facilita reutilización de código
Encapsulación de objetos
Definición de objetos
Miembros públicos
(describen qué pueden
hacer los objetos de esa clase)
- Qué pueden hacer (métodos)
- Qué son (su abstracción)
Miembros privados
- describen la implementación
de cómo lo hacen.
- Ejemplo el objeto contacto interacciona con el circuito eléctrico del vehículo, este con el motor, etc.
- En sistemas orientados a objetos puros todo el estado es privado y sólo se puede cambiar a través del interfaz público.
- Ej: El método público parar() puede cambiar el valor del atributo privado velocidad.
Interacciones entre objetos
- El modelado de objetos modela:
- Los objetos y
- Sus interrelaciones
- Para realizar su tarea el objeto puede delegar trabajos en otro que puede ser parte de él mismo o de cualquier otro objeto del sistema.
- Los objetos interaccionan entre sí enviándose mensajes
Clase Coche
Clase Motor
Clase Rueda
Paso de mensajes
Ejemplo
- Clase : Conjunto de objetos con estados
y comportamientos similares
- Podemos referirnos a la clase “Coche” (cualquier instancia de la clasificación coche)
- “miCoche” es un objeto , es decir una
instancia particular de la clase coche
- La clase a la que pertenece el objeto
se considera un nuevo tipo de datos
Clasificación de objetos
Sobrecarga ( Overloading )
¿Qué es?
- Podemos definir una clase con dos métodos con
el mismo nombre si los argumentos son
distintos.
- Se utiliza mucho para los constructores.
- Sabemos cual de los dos métodos tenemos que
ejecutar por los parámetros que le pasamos
cuando le llamamos.
Son métodos distintos porque aunque tengan el mismo nombre tienen distintos argumentos. Tienen distinta funcionalidad
Clase Objetos
Sobrecarga
Sobrecarga (Overloading)
¿Para qué sirve?