Identifica entidades, su
estructura, clasificación y
comportamiento dentro de un
sistema
Se pueden identificar objetos y clases
Principios
Abstracción
Concepto
Capacidad de identificar los
objetos y clases de objetos que
conforman el sistema para
manejar la complejidad
El desarrollador debe
Abstraer distintas vistas del sistema,
construir modelos utilizando
notaciones precisas, verificar que los
modelos plasmen los requisitos del
sistema y añadir, gradualmente los
detalles para trasformar los modelos
en una implementación.
Se deben
realizar
varias
abstracciones
Modularidad
Ayuda a entender
por partes un
Sistema complejo
Debe ser eficaz y debe de
tener poco acoplamiento
con respecto a fuentes de
datos y otros elementos
internos o externos.
Jerarquía
Se agrupan las clases obtenidas de
las abstracciones,agrupandolas de
acuerdo a sus funciones
Se da cuando una clase hija
(subclase) hereda de una
clase padre (superclase).
Define un tipo de
relación que se da
entre las clases
Se puede diseñar como
si fuera un organigrama
Encapsulamiento
Separa los aspectos externos de
un objeto, los cuales son
accesibles por otros objetos, los
detalles de implementación
interno del objeto se ocultan de
otros objetos
Concurrencia
Es la ocurrencia de dos
o más lugares de
ejecución durante el
mismo intervalo de
tiempo
Un sistema que tiene
concurrencia debe de
poder manejar varios
hilos en tiempo de
ejecución como si fuera
múltiple en un solo
CPU.
Se considera cómo los
objetos activos pueden
sincronizar sus actividades
con los otros y con los
objetos que son
puramente secuenciales
Persistencia
Es la propiedad de un objeto por lo
que su existencia trasciende el
tiempo y/o el espacio.
En bases de datos orientadas a objetos, no sólo
el estado de un objeto debe persistir, sino
también su clase debe superar cualquier cambio
en el programa, de modo que cada programa
interprete el estado guardado de la misma
manera.
Conceptos
Nos ayudan a comprender la forma en que se maneja a
partir de su asociación con el mundo real
Clase
Describe un grupo de objetos con propiedades similares
(atributos), comportamiento común (operaciones), relaciones
comunes con otros objetos y semántica común. Es un modelo
base o plantilla por que a partir de ella se crean objetos
En ella se definen,
atributos, operaciones y
acciones
Atributo
Definen las características que pueden tener un clase
y éste es almacenado en variables
Operaciones
Representan el comportamiento
que puede realizar. y en la clase
se encuentran definidos en
métodos o funciones
Objeto
Abstracciones que forman parte
del dominio del problema o del
negocio, el cual representa un
ente de la vida real, y tienen
estado y comportamiento, que
se toman a partir de la
definición de la clase.
Almacenan valores en las
propiedades (generando un
estado) y al utilizar las
operaciones (se crea un
comportamiento) del objeto
Herencia
Es una técnica de reutilización en el cual
una clase hija hereda todos los atributos
y operaciones de una clase padre
Se realiza a partir de una subclase o clase hija que
retoma la lo que tiene definido la superclase o clase
padre, además puede agregar nuevos atributos y
operaciones para hacerla una clase más especializada.
Herencia simple: cuando una subclase hereda los métodos, estructura y comportamiento de una
súper clase. Herencia múltiple: cuando una sub-clase hereda los métodos, estructura y
comportamiento de varias súper-clases. Agregación: el concepto de herencia pero visto en sentido
inverso; lo que significa 45 que una subclase es parte de ésta, es decir agregada a una súper-clase
Polimorfismo
Se puede aplicar en dos sentidos uno es cuando a partir de una clase se crean diferentes objetos y el
segundo es cuando 46 una operación puede tener diferente comportamiento (implementación) en
cada una de las instancias.
Cualidad de lo que tiene o puede tener distintas formas
Interfaz
Es una colección de operaciones que se usan para especificar un servicio de una clase o de un
componente
Captura sólo su vista exterior, que abarca nuestra abstracción del comportamiento común a todas
las instancias de la clase
Paquete
Son una forma organizacional ya que generalmente son directorios que contienen un conjunto de
clases y/o sub-paquetes, agrupados por su funcionalidad o por el tipo de servicio que prestan
Mensaje
Sirven para comunicar a objetos con otros objetos
Un mensaje realiza una petición para que un objeto
sea ejecutando con una función en particula
La técnica de enviar mensajes se conoce como paso de mensajes