Está en la página 1de 59

Unidad 2

Abstraccin del mundo


real al paradigma OO
Relaciones entre clases
Herencia entre clases

Jerarqua de abstracciones clases.


Define una relacin entre clases.
Proceso mediante el cual un objeto
adquiere propiedades de otro.
Es un mecanismo para modelar dos o ms
entidades que son diferentes pero que
comparten muchas caractersticas.
Ejemplo
Clase Padre

Superclase o clase base


es aquella que contiene
los atributos comunes de
las entidades.
La clase Hija, subclases
o derivadas son todas las
clases que heredan de la
clase padre.
Que hereda?

La clase hija hereda atributos y


comportamiento de su superclase, por
tanto el cdigo no se vuelve a escribir.

Adems aade nuevos atributos y


comportamientos o se modifican algunos
de los ya heredados.
Ejemplo

Caractersticas propias del tulipn


Agrega (Sting:Color)
Crece (float:Altura)
Agrega (int:Numero_hojas)
Herencia- es un- generalizacin

Semnticamente la herencia, denota


una relacin es un
Por ejemplo,
una casa es un inmueble
el tulipn es un angiosperma
La herencia implica una jerarqua de
generalizacin/especializacin en la
que una subclase especializa el
comportamiento o estructura ms
general de sus superclases.
La herencia es transitiva
Tipos de herencia
Ejemplo
Diagrama de Clases - SEGUROS
Diagrama de Clases - Vehiculo
Usos de herencia

Herencia de Interfaz o reutilizar conceptos


Es cuando una clase derivada sobrescribe
el comportamiento definido por la clase
base.
Aunque no se comparte ese cdigo, ambas
clases comparten el prototipo del mtodo
(comparten el concepto).
Ejemplo
Polimorfismo

Es la propiedad que le permite a una


operacin o funcin tener el mismo
nombre en clases diferentes y actuar de
modo distinto en cada una de ellas
Implica la capacidad de una operacin de
ser interpretada solo por el propio objeto
que la invoca.
Ejemplo
Ejemplo
Asociacin Esta asociado con

Es una relacin que describe enlaces entre


objetos.
Rol de la relacin que vincula a las clases.
una etiqueta
Navegabilidad si desde una clase se puede
ir a la otra.
A hasta B
Cardinalidad - multiplicidad
Tipos de asociacin - navegabilidad

Unidireccional. Solo se navega en un sentido

Bidireccional. Se navega en ambos sentidos


Ejemplo

Profesor Deparatamento

+dirige

1 0..1

* 1
Practica 4

Modela una jerarqua de clases para medios de transporte.


Modela una jerarqua de clases para aparatos electrnicos.
Modelar una jerarqua de clases para figuras geomtricas.
Aparatos

a. Grandes electrodomsticos.
Frigorficos, lavadoras, lavavajillas, cocinas, estufas, placas de calor,
hornos de microondas, radiadores, aparatos de aire acondicionado y
otros grandes aparatos para la refrigeracin.
b. Pequeos electrodomsticos.
Planchas, freidoras, tostadoras, cuchillos elctricos, molinillos,
pequeos aparatos para coser u otro uso textil, balanzas, relojes,
maquinas de afeitar y dems.
c. Equipos de informtica y telecomunicaciones.
Ordenadores, impresoras, copiadoras, mquinas de escribir
elctricas o electrnicas, calculadoras de mesa o de bolsillo,
telfonos de todo tipo, terminales de faxes y otros productos de
transmisin de sonido, imgenes u otra informacin por
telecomunicacin.
d. Aparatos electrnicos de consumo.
Radios, televisores, cadenas de alta fidelidad, amplificadores,
instrumentos musicales, vdeos, videocmaras y otros aparatos
que registren o reproduzcan sonido o imgenes, incluidas las
seales y tecnologas de distribucin del sonido e imagen distinta
de la telecomunicacin.
e. Aparatos de alumbrado.
Lmparas de todo tipo, luminarias para lmparas fluorescentes -
excluidas las de hogares particulares- y otros aparatos de
alumbrado que difunden la luz, a excepcin de las bombillas de
filamentos.
f. Herramientas elctricas o electrnicas.
(Excepto las industriales fijas permanentemente de gran
envergadura, instaladas por profesionales) Taladradoras, sierras,
mquinas de coser, herramientas para molturar, tornear, taladrar,
perforar, remachar, clavar, soldar, rociar, para cortar el csped y, en
general, todas las de tipo elctrico o electrnico excepto las
industriales especificadas en este epgrafe.
g. Juguetes o equipos deportivos y de tiempo libre.
Consolas porttiles videojuegos, ordenadores para realizar
deportes, mquinas tragaperras, trenes elctricos y otros juegos o
equipos deportivos con componentes elctricos o electrnicos.
h. Aparato Mdicos.
(Excepto todos los productos implantados e infectados) Aparatos de
radioterapia, cardiologa, dilisis, medicina nuclear, ventiladores
pulmonares, analizadores, aparatos de laboratorio y otros aparatos
elctricos o electrnicos para detectar, prevenir, supervisar,
tratar o aliviar enfermedades, lesiones o discapacidades.
i. Instrumentos de vigilancia o control.
Detector de humos, termostatos y otros aparatos de medicin,
pesaje o reglaje para el hogar, as como otros instrumentos de
vigilancia y control usados en instalaciones industriales, como en los
paneles de control.
j. Mquinas expendedoras.
Mquinas expendedoras de bebidas, productos slidos,
dinero y todos los aparatos para el abastecimiento
automtico de todo tipo de productos.
Tarea 4

Modela una jerarqua de clases para plantas.


Modela una jerarqua de clases para circuitos elctricos.
Modelar una jerarqua de clases para animales (segn su
estructura, alimentacin y reproduccin).
Agregacin relacin dinmica

Relacin de objetos compuestos por otros


objetos.
El objeto en el nivel superior de la jerarqua
es el todo y los que estn en los niveles
inferiores son sus componentes.
Un componente no es parte esencial de una
entidad, es decir la relacin es dbil. El
tiempo de vida del objeto incluido es
independiente del que lo incluye.
Agregacin entre objetos tiene
un

No hay dependencia
de la subclase

carro

ruedas
Ejemplo
Composicin- relacin esttica

Es una relacin que representa a objetos


compuestos por otros objetos.
El objeto en el nivel superior de la jerarqua
es el todo y los que estn en los niveles
inferiores son sus partes o componentes.
Un componente es parte esencial de una
entidad. La relacin es fuerte. El tiempo de
vida del objeto incluido esta condicionado
por el tiempo de vida del que lo incluye .
Composicin entre objetos tiene-
un

Si hay dependencia de la subclase

Persona tiene corazn


Empresa tiene empleados
persona

Cardinalidad de la clase todo


Siempre es 1 corazn
Ejemplo: Asociacin-Agregacin-
Composicin
Ejemplo: Agregacin o composicin?
Ejemplo

Representa mediante un diagrama de clases la siguiente


especificacin:
Una aplicacin necesita almacenar informacin sobre empresas,
sus empleados y sus clientes.
Ambos se caracterizan por su nombre y edad.
Los empleados tienen un sueldo bruto, los empleados que son
directivos tienen una categora, as como un conjunto de
empleados subordinados.
De los clientes adems se necesita conocer su telfono de
contacto.
La aplicacin necesita mostrar los datos de empleados y clientes.
Clases

Persona

Cliente
Empleado

Directivo Empresa
Atributos y Mtodos

Persona

+nombre
+edad

+mostrar()

Cliente
Empleado
+telefono_de_contacto
+sueldo_bruto
+mostrar()
+mostrar()

Directivo Empresa

+categoria +nombre

+mostrar()
Relaciones y multiplicidad
Persona

+nombre: String
+edad: Integer

+mostrar()

Empleado
Cliente
+sueldo_bruto: Float
+subordinados +telefono_de_contacto: String
+mostrar()
+mostrar()
0..*
1..* empleados +Qualifier1

0..*
Directivo clientes
1..*
0..* +categoria: String
1
+mostrar() Empresa

+nombre
Dependencia - Uso

Relacin muy
particular, en la que
una clase es
instanciada (su
instanciacin es
dependiente de otro
objeto/clase).
Ejemplo

Postulacin es un
objeto que la Persona
utiliza para algn fin,
dentro de alguna
operacin que ella
realice (por ejemplo
Postularse a un cargo).
Pero una Persona no
tiene en su interior una
Postulacin
Ejemplo
Relaciones involutivas

Cuando la
misma clase
Empleado
aparece en Nombre:String *
Empleado
los dos Poner_Nom() Nombre:String 1
extremos de * Poner_Nom()
dirige
la asociacin. 1
Casada con
Ejemplo
Ejemplo: Barcos

En un puerto se alquilan amarres para


barcos de distinto tipo. Para cada alquiler se
guarda el nombre y nmero de documento
del cliente, la fecha inicial y final de alquiler,
la posicin del amarre y el barco que lo
ocupar. Un barco se caracteriza por su
matrcula, su eslora en metros y ao de
fabricacin.
Nota: Eslora-dimensin del barco

Un alquiler se calcula multiplicando el


nmero de das de ocupacin (incluyendo
los das inicial y final) por un mdulo
funcin de cada barco (obtenido
simplemente multiplicando por 10 los
metros de eslora) y por un valor fijo(2 en la
actualidad). Sin embargo ahora se
pretende diferenciar la informacin de
algunos tipos de barcos:
Nota: CV - caballo de vapor

Nmero de mstiles para veleros


Potencia en CV para embarcaciones deportivas a motor
Potencia en CV y nmero de camarotes para yates de lujo
El Mdulo de los barcos de un tipo especial se obtiene como el
mdulo normal ms:
El nmero de mstiles para veleros
La potencia en CV mas embarcaciones deportivas a
motor
La potencia en CV ms el nmero de camarotes para
yates de lujo
Utilice herencia y polimorfismo para calcular el alquiler de
cualquier tipo de barco
Primero

Empezamos definiendo la clase barco.


Atributos
matricula, slora y ao de fabricacin
Mtodos
float devolver_modulo()
segundo

Definamos la clase Tipos_de_barco


Atributos:
mstiles, potencias, camarotes, alquiler
de un barco deportivo y de un yate
Mtodos
Uno que permita saber que tipo de barco es
de acuerdo al atributo camarotes
float mostrar()
tercero

Definamos la clase alquiler que tendr los


Atributos:
DNI, fecha_inicio_ocupa, Fecha_final y
posicin de amarre
Mtodos
Uno que calcule el alquiler
float precio_alquiler()
Prctica 5

BIBLIOTECA
Una biblioteca tiene copias de libros Estos ltimos se Una biblioteca tiene
copias de libros. Estos ltimos se caracterizan por su nombre, tipo (novela,
teatro, poesa, ensayo), editorial, ao y autor.
Los autores se caracterizan por su nombre, nacionalidad y fecha de
nacimiento.
Cada copia tiene un identificador y puede estar en la Cada copia tiene un
identificador, y puede estar en la biblioteca, prestada, con retraso o en
reparacin.
Los lectores pueden tener un mximo de 3 libros en prstamo.
Cada libro se presta un mximo de 30 das, por cada da de retraso, se
impone una multa de dos das sin posibilidad de coger un nuevo libro.
Realiza un diagrama de clases y aade los mtodos necesarios para realizar el
prstamo y devolucin de necesarios para realizar el prstamo y devolucin de
libros.
Tarea 5

Realiza el diseo de una aplicacin para la gestin de pedidos.


La aplicacin deber manejar clientes (se guarda su nombre,
direccin, telfono y e-mail), que pueden realizar pedidos de
productos, de los cuales se anota la cantidad en stock.
Un cliente puede tener una o varias cuentas para el pago de
los pedidos.
Cada cuenta est asociada a una tarjeta de crdito, y tiene una
cierta cantidad disponible de dinero, que el cliente debe
aumentar peridicamente para poder realizar nuevos pedidos.
Continua
Un cliente puede empezar a realizar un pedido slo si tiene alguna cuenta con dinero
disponible. Al realizar un pedido, un cliente puede agruparlos en pedidos simples o
compuestos. Los pedidos simples estn asociados a una sola cuenta de pago y (por
restricciones en la distribucin) distribucin) contienen un mximo de 20 unidades del
mismo o distinto tipo de producto. A su vez, un pedido compuesto contiene dos o ms
pedidos, que pueden ser simples o compuestos. Como es de esperar, el sistema debe
garantizar que todos los pedidos simples que componen un pedido compuesto compuesto
se paguen con cuentas del mismo cliente. Adems, slo es posible realizar peticiones de
productos en stock.
Existe una clase (de la cual debe haber una nica instancia en la aplicacin) responsable
del cobro, orden de distribucin y confirmacin de los pedidos. El cobro de los pedidos se
hace una vez al da, y el proceso consiste en comprobar todos los pedidos pendientes de
cobro, y cobrarlos de la cuenta de pago correspondiente. Si una cuenta no tiene suficiente
dinero, el pedido se rechaza (si es parte de un pedido compuesto, se rechaza el pedido
entero). Una vez que el pedido est listo para servirse, se ordena su distribucin, y una
vez entregado, pasa a estar confirmado.
Realiza el diagrama de clases para resolver el sistema

También podría gustarte