04 Programacion Orientada A Objetos Con Java
Departamento de Ingeniería Informática
Fundamentos de la informática
4. Programación orientada a objetos con Java
Contenido
Introducción
La programación orientada a objetos
Programación Java
Introspección
Utilidades de Java
Programación orientada a objetos con Java
2
Introducción
Análisis y diseño orientado a objetos
La programación orientada aobjetos es una técnica de
análisis y diseño que se enfoca en los elementos de un
sistema, sus atributos y responsabilidades
El modelo abstracto está formado de clases. Una clase
describe a un conjunto de objetos que comparte los
mismos atributos, comportamiento y semántica
Un objeto es una instancia de una clase
Programación orientada a objetos con Java
3
Programación orientada a objetosAnálisis y diseño orientado a objetos
Las clases representan un esquema simplificado de la
casuística de un problema determinado
Para diseñar un sistema orientado a objetos es necesario
responder las siguientes preguntas
¿Cuáles son los elementos tangibles de un sistema?
¿Cuáles son sus atributos?
¿Cuáles son sus responsabilidades?
¿Cómo se relacionan los elementos del sistema?
¿Qué objeto debe“saber”...?
¿Qué objeto debe “hacer”...?
Programación orientada a objetos con Java
4
Programación orientada a objetos
Conceptos básicos
Encapsulación
Herencia
Polimorfismo
Programación orientada a objetos con Java
5
Programación orientada a objetos
Encapsulación
La encapsulación consiste en formar un “paquete” con los
atributos (variables) y el comportamiento (métodos) de
un objeto
Los métodos forman lamembrana exterior de un objeto y
“esconden” los detalles de implementación al usuario
Programación orientada a objetos con Java
6
Programación orientada a objetos
Encapsulación
La encapsulación hace que un sistema sea más fácil de
comprender y facilita el mantenimiento de una aplicación
Atributos
Comportamiento
(métodos)
Programación orientada a objetos con Java
m1
7
Programaciónorientada a objetos
Herencia
La herencia es la capacidad de una clase para definirse en
términos de otra clase y “heredar” atributos y
responsabilidades de la clase de orden superior
Bicicleta
Superclase
Subclases
Bicicleta
de montaña
Programación orientada a objetos con Java
Bicicleta
de carreras
Tándem
8
Programación orientada a objetos
Polimorfismo
El
polimorfismo
permite
que
distintosobjetos
pertenecientes a una misma clase “respondan” de
diferentes formas a un mismo mensaje
El polimorfismo permite modificar el comportamiento de
un método en cada subclase. En este ejemplo, la
superclase mascota tiene las subclases gato, pato y perro.
El método “saludar” cada subclase es diferente
Hola
Miau
Cuac
Guau
En este ejemplo cada tipo de mascota “saluda” de forma distinta
Programaciónorientada a objetos con Java
9
Programación orientada a objetos
Encapsulación, herencia y polimorfismo
La reutilización de código es una de las grandes ventajas
de la programación orientada a objetos
Reduce el tiempo de desarrollo de aplicaciones e
incrementa la productividad de los ingenieros de software
Reutilización de clases
Diseño de una nueva clase a partir de otra (herencia)
Programaciónorientada a objetos con Java
10
Programación orientada a objetos
Diagramas de clases
En UML una clase se representa como un rectángulo
dividido en tres partes: el nombre de la clase, sus
atributos y métodos. Las clases abstractas se identifican
por la letra cursiva
Los métodos de una clase se especifican indicando el tipo
de acceso (+, -, #), el nombre, la lista de parámetros y el
tipo quedevuelve
+ Acceso público
- Acceso privado
# Acceso protegido
Programación orientada a objetos con Java
11
Programación orientada a objetos
Diagramas de clases
El diagrama de una clase muestra el nombre de la clase,
sus atributos y métodos
Programación orientada a objetos con Java
12
Programación orientada a objetos
Diagramas de clases
El diagrama de clases ofrece una vista general de...
Regístrate para leer el documento completo.