Вы находитесь на странице: 1из 24

Tema 2.

Qu es la Orientacin
a Objetos?
Objetivos.
Conceptos fundamentales de la
Orientacin a Objetos
Justificacin de las estrategias
Orientadas a Objetos
Cmo se utiliza en la prctica la
Orientacin a Objetos

2.1 Conceptos Bsicos


Comprender conceptos como:
Objeto
Clase
Instancia
Generalizacin y especializacin
Mensajes
Polimorfismo

2.1 Conceptos Bsicos


2.1.1 Objetos
Definicin 1: un objeto es una abstraccin de algo dentro
de un dominio de un problema, que refleja las
capacidades del sistema para almacenar informacin
sobre l, para interactuar con l, o para ambas cosas.
Definicin 2: un objeto es como concepto, abstraccin o
cosa que tiene lmites precisos y un significado para el
problema que se aborda. Los objetos sirven para dos
propsitos: estimulan la comprensin del mundo real y
proporcionan una base prctica para la implementacin
informtica.
Concepto/Abstraccin: representacin de algo que incluye
slo lo importante o interesante desde un punto de vista.
Ej: mapa, objeto cliente, objeto venta
Sistema: sistema de software y sistema actividad
humana (importante estudiar la actividad humana antes
de abordar el problema)

2.1 Conceptos Bsicos


2.1.1 Objetos
Los objetos tienen:
Identidad: cada objeto es nico, nombre del
objeto
Comportamiento: lo que el objeto hace
Estados: situaciones en las que se puede
encontrar el objeto en un momento
determinado

2.1 Conceptos Bsicos


2.1.1 Objetos
EJEMPLO:
Objeto

Identidad

Comportamiento

Estados

Persona

Pepe

Habla, anda, lee

Estudiando,
descansando,
calificado

Venta

Venta n 0101-200x

Hace ganar
comisiones a los
agentes

Facturada,
cancelada

Bote de Ketchup

Este bote de ketchup

Se vierte su
contenido

Abierta, vaca

EJERCICIO: AADE UNA NUEVA FILA A ESTA TABLA, PON TU PROPIO OBJETO CON SU
IDENTIDAD, COMPORTAMIENTO Y ESTADOS.

2.1 Conceptos Bsicos


2.1.2 Objetos y Clases:
Un objeto es una instancia de una clase
Ejemplo:
Clase Cliente: abstrae las caractersticas de
los clientes, representa a un cliente en
general
Objetos: cada cliente particular sera una
instancia u objeto de la clase Cliente.

2.1 Conceptos Bsicos


2.1.2 Objetos y Clases:
Caso de estudio.
Pincha aqu para abrir el caso Agate.
EJERCICIO I: Lee atentamente el caso y
discute con tu compaero que clases
piensas se pueden extraer del mismo,
representa cada clase con un rectngulo. Por
ejemplo una clase podra ser:
Campaa

2.1 Conceptos Bsicos


2.1.3 Miembros de la clase:
Todos los objetos de una clase comparten
un conjunto comn de caractersticas
descriptivas.
Por ejemplo: el personal de Agate
registra el nombre, direccin, telfono,
etc.. El valor de cada objeto de la clase
personal variar de un empleado a otro,
pero la estructura de la informacin es la
misma.

2.1 Conceptos Bsicos


2.1.3 Miembros de la clase:
Cuando dos objetos no se pueden
describir por un nico conjunto de
caractersticas, no pueden pertenecer a
la misma clase.
Por ejemplo: el objeto cliente pepe y el
objeto miembro del personal pepe, an
teniendo el mismo valor para la
caracterstica nombre no pertenecen a la
misma clase, pues hay otras
caractersticas que son distintas.

2.1 Conceptos Bsicos


2.1.3 Miembros de la clase:
Todos los objetos de una clase comparten un conjunto
comn de comportamientos vlidos.
Por ejemplo: los clientes pueden contratar una
campaa, pagarla, aceptar un presupuesto, etc..
EJERCICIO II: define para el caso Agate los
comportamientos que piensas puede tener un objeto
instancia de la clase miembro del personal.

2.1 Conceptos Bsicos


2.1.3 Miembros de la clase:
Conclusin:
Los clientes tienen unas caractersticas
y los miembros del personal otras.
Los clientes tienen unos
comportamientos y los miembros del
personal otros.
Por lo tanto los clientes son una clase y
los miembros del personal otra.

2.1 Conceptos Bsicos


2.1.4 Generalizacin
La generalizacin se produce cuando
existe una relacin entre dos clases de
tal forma que hay una clase general y
una clase ms especfica. La clase
especfica hereda de la general sus
caractersticas y comportamientos y
adems define sus caractersticas y
comportamientos propios.

2.1 Conceptos Bsicos


2.1.4 Generalizacin
Ejemplo 1:
Cuenta bancaria

Cuenta corriente

Cuenta de crdito

2.1 Conceptos Bsicos


2.1.4 Generalizacin
Ejemplo 2 (Notacin UML):

2.1 Conceptos Bsicos


2.1.4 Generalizacin
EJERCICIO III:
Piensa con tu compaero otros dos ejemplos
de generalizacin, aade alguna
caracterstica a las clases y represntalo en
notacin UML.

2.1 Conceptos Bsicos


2.1.4 Generalizacin
Otras caractersticas de la
generalizacin:
Herencia: mecanismo utilizado en la
programacin orientada a objetos para
llevar a cabo la generalizacin y la
especializacin.
Superclase
Subclase: hereda todas las caractersticas de la
superclase. Las subclases tienen al menos un
detalle no heredado de la superclase.

2.1 Conceptos Bsicos


2.1.4 Generalizacin
Otras caractersticas de la
generalizacin:
Operacin transitiva:
Una subclase hereda todas las caractersticas de
todas sus superclases.
La subclase tiene al menos un detalle no
heredado de alguna de sus superclases.

2.1 Conceptos Bsicos


2.1.5 Mensajes pasados
Otros objetos envan mensajes solicitando servicios

Las operaciones asociadas con


un objeto slo se pueden llamar
mediante un mensaje que tenga una firma
vlida para la operacin

Los datos de un objeto


pueden ser accedidos
por sus propias operaciones
La ocultacin de la
Informacin detrs de un
Interfaz se denomina
encapsulacin

La representacin de los datos


en un objeto se oculta en su interior

Conjunto de firmas
Se denomina en
ocasiones
interfaz

2.1 Conceptos Bsicos


2.1.6 Polimorfismo
Capacidad de aparecer de muchas
formas: hace referencia a la posibilidad
de enviar mensajes idnticos a objetos
de diferentes clases, cada uno de los
cuales responder al mensaje de una
forma distinta.

2.1 Conceptos Bsicos


2.1.6 Polimorfismo
Ejemplo de diagrama de comunicacin:
2a:dibujar()

:crculo

2b:dibujar()
Dibujar Figura :Figura

:cuadrado

1:dibujarFigura()
2c:dibujar()

:tringulo

2.1 Conceptos Bsicos


EJERCICIO IV: En una empresa hay mltiples empleados de
los que se calcula su nmina a fin de mes y se emite en
funcin de esta un cheque de pago. Todos los empleados
comparten unas caractersticas comunes para el calculo del
sueldo que son las retenciones de IRPF y Seg. Social, pero
unos empleados cobran por horas y otros tienen un salario
base mensual. La manera de calcular el salario neto para los
empleados que cobran por horas es distinto que para los que
tienen un salario base mensual. Hay una entidad que se
encarga de recopilar los sueldos netos de los empleados e
imprimirlos para lo que solicita estos datos al objeto
Empleado. Representar en notacin UML las clases que
piensas se pueden extraer del caso y las relaciones entre
ellas. Representa mediante un diagrama de comunicacin en
notacin UML el envo de mensajes entre clases. Qu objeto
emite el mensaje, quien lo recibe y contesta a este
mensaje?. Hay generalizacin y polimorfismo?. Qu
caractersticas y comportamientos estn encapsulados?

2.1 Conceptos Bsicos


2.1.7 Estado de un objeto
Un objeto puede encontrarse en diferentes estados y eso afectar
a la forma en la que responde a los mensajes.
El estado est representado por los valores actuales de los datos
dentro del objeto.
Un estado es un periodo esttico y estable en la vida del objeto
durante el cual se realiza una actividad, se espera a que se
produzca algn evento o se cumpla alguna condicin especificada.
Ejemplo 1: sistema de control de incendios. Se analiza el estado en el que se
encuentra el objeto ambiente, si el estado cambia de sin humo a con
humo el sistema de control de incendios responde activando el objeto
alarma.
Ejemplo 2: sistema de reposicin automatizado. Se analiza la cantidad de
producto que hay en el objeto estantera si est por debajo de unos mnimos
se activa la reposicin.
EJERCICIO V: pensad en otros ejemplos en los que sea importante el estado en
el que se encuentren los objetos de un sistema.

Preguntas de revisin
1. Pon un ejemplo de clase y de instancia u
objeto de esa clase.
2. En qu forma el concepto de mensaje ayuda a
encapsular la implementacin de un objeto,
incluyendo sus datos?.
3. Qu se entiende por polimorfismo?.
4. Qu reglas describen las relaciones que
existen entre una subclase y su superclase?

Ejercicios
1. Clasifique los siguientes elementos en una
jerarqua que dependa de su generalizacin o
especializacin relativa: persona, cosa, verde,
forma, profesor de escuela primaria, cachorro de
oso, oso polar, cuadrado, ley, nio, color, animal.
2. Lea el primer apartado del Estudio del caso
prctico de FoodCo (apartado B1.1) e identifique
las clases que representan al entorno global de
la empresa.
3. Enumere todos los productos de FoodCo que se
identifican en el Estudio del caso prctico B1 y
clasifquelos formando una jerarqua. Imagine
algunos productos ms que aumenten el inters
de su jerarqua y adalos a su diagrama.

Вам также может понравиться