Caja de herramientas de inteligencia artificial para la academia y la investi...
002 modelo objetos jdchc
1. M.Sc. Javier David Chávez Centeno
DEPARTAMENTO ACADÉMICO DE INFORMÁTICA
jdchavez5@hotmail.com
CUSCO – PERÚ
2014
2. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 2Dpto Académico de Informática
UNIDAD I
TEMA
Modelo de Objetos
3. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 3Dpto Académico de Informática
CONTENIDO
1.1 Modelo de Objetos
1.2 Mecanismos de Abstracción
1.3 Concepto de Objetos
1.4 Clases
1.5 Implementación de Clases
4. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO
Es una forma de representar la realidad,
considerando que el mundo real que tratamos está
constituido por cosas, entidades u objetos que
interactúan entre si.
Hay cuatro elementos fundamentales del modelo
de objetos: abstracción, encapsulación,
modularidad, jerarquía y tres elementos
secundarios: tipos (tipificación), concurrencia
y persistencia.
Si algún elemento fundamental no esta presente,
entonces el modelo no es orientado a objetos.
4Dpto Académico de Informática
5. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO
Los mecanismos de abstracción permiten
entender, clasificar y modelar la realidad.
Se tiene:
- Abstracción de clasificación
- Abstracción de generalización -
especialización
- Abstracción de agregación/composición
5Dpto Académico de Informática
6. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 6Dpto Académico de Informática
Abstracción de Clasificación
La abstracción de clasificación nos permite percibir que los
objetos de la realidad se pueden agrupar en clases o tipos
de objetos, caracterizados por propiedades y
comportamiento comunes.
El mundo real esta formado por objetos. Todo objeto
pertenece por lo menos a una clase de objetos.
Clase de Objetos
Empleados
Clase de Objetos
Libros
Clase de Objetos
Documentos
7. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 7Dpto Académico de Informática
Abstracción de Generalización-Especialización
Los objetos de clase Avión y de la clase Helicóptero pertenecen a
una clase más genérica Vehículos de Transporte Aéreo. Esta clase,
con las clases vehículos de Transporte Terrestre y Vehículos de
Transporte Marítimo pertenecen aún a otra clase más genérica como
es la clase Vehículo de Transporte.
Vehículo de Transporte
Vehículo de transporte aéreo Vehículo de Transporte marítimo
Avión Helicóptero
Generalización
Especialización
Los Objetos del mundo real se
organizan en clases y
subclases, con una estructura
jerárquica.
8. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 8Dpto Académico de Informática
Abstracción de Agregación
Si se hace un análisis más minucioso de los objetos del mundo real,
se puede constatar que muchos de estos objetos están construidos
a partir de otros objetos. Así, un objeto de la clase COMPUTADOR
esta formado por objetos de las clases CPU, MONITOR, TECLADO,
MOUSE, IMPRESORA, etc.
Objeto Computador
Objeto
Impresora Objeto CPU
Objeto
Monitor
Objeto
Teclado
La abstracción de
agregación es la
representación del
“todo y sus partes”.
9. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 9Dpto Académico de Informática
Definición Formal (Grady Booch)
Un objeto es una entidad que tiene un estado, un
comportamiento y una identidad.
CUENTA DE AHORROS
Número Cuenta: 12345
Nombres: Ana Paz
Dirección: Av. Perú 123
Doc. Identidad: 23742723
Registrar Depósitos()
Registrar Retiros()
Calcular Intereses()
Tipo de
Objeto
Características
Operaciones
Los valores de las
características
constituyen el estado
de un objeto.
El Número de Cuenta
identifica al objeto.
Las operaciones constituyen el
comportamiento del objeto.
10. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 10Dpto Académico de Informática
Todos los objetos tienen características, propiedades o
atributos. Por ejemplo, el objeto Cuenta de Ahorro tiene
como atributos: Número de Cuenta, Nombres,
Dirección, Documento de Identidad.
Los atributos normalmente son estáticos, no cambian con el
tiempo; mientras que los valores asociados a estos atributos
son dinámicos, pueden cambiar con el tiempo.
El estado de un objeto está dado por los valores actuales
de cada una de sus propiedades o atributos.
11. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 11Dpto Académico de Informática
Todos los objetos interactúan unos con otros. Esto significa
que ningún objeto existe de forma aislada.
La interacción se efectúa en función a los servicios que
ofrece cada objeto. Un servicio es alguna función
(comportamiento) que puede efectuar un objeto.
El comportamiento es cómo actúa y reacciona un objeto, en
función a la interacción que efectúa sobre otros objetos o que
efectúan otros objetos sobre él.
Objeto
Cuenta Ahorros
(Servicios)
Objeto
Cajero
(Servicios)
12. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 12Dpto Académico de Informática
Un objeto en el mundo real es único y se diferencia de los
otros objetos incluso de la misma clase.
Es posible identificar entre todas las propiedades del objeto,
una propiedad que lo distingue de todos los demás objetos,
esta propiedad es la que identifica el objeto.
La identidad es aquella propiedad o atributo de un objeto
que los distingue de todos los demás objetos.
CUENTA DE AHORROS
Número Cuenta: 12345
Nombres: Ana Paz
Dirección: Av. Perú 123
Doc. Identidad: 23742723
No puede haber dos cuentas de
ahorros con el mismo Número.
En consecuencia, el Número de
Cuenta identifica unívocamente
al objeto
13. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 13Dpto Académico de Informática
Las características y el comportamiento de un objeto es
modelado en un compartimiento (cápsula) único e
indivisible.
Encapsulamiento
Objeto = Características + Comportamiento
Objeto = Información + Proceso
Objeto = Atributos + Métodos
Por encapsulamiento debemos entender que un objeto
debe ser considerado como “un todo”, como una unidad
atómica indivisible, que engloba las características y el
comportamiento del objeto.
14. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 14Dpto Académico de Informática
Representación de un objeto
METODOS (SERVICIOS)
ATRIBUTOS
Solicitar Servicios a
otros objetos
Responder a Servicios
solicitados por
otros objetos
Vista Interna (Oculta)
(Parte Privada)
Vista Externa (Visible)
(Parte Pública)
15. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 15Dpto Académico de Informática
La abstracción de clasificación nos permite percibir que los objetos de
la realidad están organizados como clases o tipos de objetos,
caracterizados por propiedades comunes. Todo objeto pertenece a
alguna clase de objetos.
En la POO una clase es la implementación de un tipo de objetos. La
POO identifica, implementa y utiliza tipos o clases de objetos del
dominio del problema.
Una clase es como un molde que se utilizará para construir objetos.
En la POO lo que realmente se implementa son las clases y no los
objetos.
Los objetos se crean o construyen (“tienen vida”) en tiempo de
ejecución.
Clase = Implementación (Atributos + Métodos)
Comunes a todos los objetos de la clase
16. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 16Dpto Académico de Informática
Acoplamiento
(Conceptos Asociados)
En la programación estructurada los módulos se escriben muchas
veces en función de otros módulos. Por ejemplo, si el módulo B
depende del módulo A, entonces cualquier cambio en el módulo A
implica también una modificación en el módulo B.
Esta dependencia se conoce como acoplamiento. Un programa
con muchas dependencias tiene fuerte acoplamiento (cualidad no
deseada). Los buenos programas tiene pocas (o ninguna)
dependencia, es decir, débil acoplamiento.
La POO tiende al diseño e implementación de clases con débil
acoplamiento.
17. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 17Dpto Académico de Informática
Ocultamiento de la Información
(Conceptos Asociados)
En el proceso de ocultar todos los detalles internos de un objeto, y
poner a disposición de los otros objetos solamente la lista de servicios
que éste ofrece. Es ver un objeto como una vista interna y una vista
externa.
La vista interna no es visible ni accesible para otros objetos, esconde
la estructura de los atributos y protege el acceso directo a ellos desde
fuera del objeto. También es parte de la vista interna la
implementación de los métodos, es decir el «como» están hechos.
La vista externa es lo que ven los otros objetos, es la parte visible y
accesible del objeto, está constituido por la lista de métodos del
objeto, con una explicación del «qué» hacen o «para qué» sirven.
18. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 18Dpto Académico de Informática
Interfaces
(Conceptos Asociados)
La interfaz es la vista externa del objeto. Es el
conjunto de servicios que ofrece el objeto. Los
otros objetos o el resto del programa pueden
utilizar el objeto sólo mediante los servicios
definidos en la interfaz.
Se puede modificar la implementación interna de
un objeto A, mientras no se cambie la interfaz del
objeto A, los otros objetos que interactúan con
éste no se verán afectados.
19. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 19Dpto Académico de Informática
Esquema general de implementación de clases en
Java, que se utilizará como patrón.
public class Nombre_de_la_clase
{
}
// ============ ATRIBUTOS =============
// ============ METODOS =============
// ----------------- Constructores --------------------
// ----------------- Modificadores ----------------------
// ----------------- Selectores ----------------------
Parte Privada Parte Pública
// ----------------- Otros Métodos ----------------------
20. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 20Dpto Académico de Informática