Post on 12-Sep-2015
description
Clasificar requiere abstraccinIlustracin de: Object-Oriented Design with Applications,1991, G. Booch
ClaseIlustracin de: Object-Oriented Design with Applications,1991, G. Booch
Relacin Clase-ObjetoDescribe un conjunto de objetos con caractersticas similares (propiedades y comportamiento comn).
Relacin Clase-Objeto Una clase representa la descripcin de un conjunto de objetos
Un objeto es una instancia de una clase.
Relacin Clase-ObjetoPersonapedrojuanmara
Relaciones entre Objetoscontiene , es parte de Relacin de Agregacincompuesto por , tiene Relacin de Composicin (inseparable)es un Relacin de Generalizacin (Herencia).una moto es un vehiculoun carro tiene colorun caucho es parte de un carro
Relaciones entre objetos Agregacin (parte de)Agregacin asociacin que especifica una relacin todo-parte entre el agregado (el todo) y el componentecontiene , es parte deun caucho es parte de un carro
Relaciones entre objetos Composicin (compuesto por)Composicin (inseparable) asociacin que especifica una relacin entre el agregado (el todo) y el componente (la parte) de forma inseparable. El objeto compuesto es responsable de la creacin y destruccin de las partescompuesto por , tieneun carro tiene color
Composicin / AgregacinPolgono
Composicin / Agregacin
Composicin / AgregacinAgregacin: Especfica una relacin parte/todo Composicin:Es una forma de agregacin con una fuerte coincidencia entre los tiempos de vida de la parte y del todo. La parte una vez asociada al todo no puede ser removida hasta tanto no finalice el tiempo de vida del todoRepresenta una relacin de particin.
Composicin / Agregacin(Ejemplos)Agregacin:FacultadEsc.Comp.Esc.Qumica11..*1Esc.Biologa1La clase Facultad existe solamente para enlazarjuntos a las Escuelas(....)
Composicin / Agregacin(Ejemplos)Composicin:CuerpoBrazoPierna112Cabeza2Las instancias de las clases Brazo, Pierna y Cabeza no pueden existir sin que existan las instancias de la clase Cuerpo a las cuales ellas estan asociadas.(....)
Ejercicio en claseEn su proyecto:Identifique clases de objetosIdentifique relaciones de agregacin/composicin
Relaciones entre objetos Asociacin ()Qu es una asociacin??Una relacin significativa entre dos clases -o entre sus instancias-Conexin semntica entre elementos del modelo.
Ejercicio en claseEn su proyecto:Identifique clases de objetosIdentifique asociaciones
Tarea 1 - en casaConsidere el siguiente problema:El Metro C.A. comprende 3 lneasCada lnea consiste de un conjunto de estaciones y de un conjunto de trenes.Cada tren tiene un conjunto de vagones.cada vagn tiene dos puertasSi se requiere comprar un ticket para entrar al andn del metro; ste se compra en la oficina situada en la entrada de la estacin.Defina el conjunto de clases y establezca mediante un diagrama una jerarqua entre las clases, indicando en cada caso el tipo de relacin establecida entre las clases.
HerenciaIlustracin de: Object-Oriented Design with Applications,1991, G. Booch
Cmo establecer la jerarqua de herencia entre clases?
Por generalizacin
Por especializacin
Aplicando la Generalizacinse crea una clase (superclase), que generaliza las propiedades comunes de varias clases.
Aplicando la GeneralizacinSe crea la clase (superclase) Persona que contiene las propiedades comunes de las clases Hombre y Mujer.MujerHombre
GeneralizacinRelacin taxonmica entre un elemento general y un elemento especfico, donde el elemento ms especifico es consistente con el ms general y contiene informacin adicional.
Una instancia del elemento ms especfico puede ser usada donde el elemento ms general sea permitido
EspecializacinDada una clase, se crea(n) otra(s) clase(s) (subclase) que especializa(n) la clase dada, agregando las diferencias (adicin, supresin o redefinicin de propiedades).VehculoCarroMotoGra
EjercicioClase 1: AClase 2: A, B, CClase 3: A, B, C, DClase 4: A, B, C, EIndique los mtodos de cada Clase.
EjercicioFigura
colorearRectngulo
rea, coloreardibujarCrculo
readibujarFigSim
transladarCuadrado
rea, borrarCul mtodo se ejecuta:- Si c2 recibe el mensaje dibujar ?- Si c2 recibe el mensaje colorear ?- Si c1 recibe el mensaje colorear ?- Si c1 recibe el mensaje borrar ?
c1: Crculoc2: Cuadrado
Ejercicio en claseEn su proyecto:Identifique objetos/clasesestablezca jerarqua de herencia (mediante especializacin /generalizacin)
Clases Concretas y Clases AbstractasUna clase abstracta es aquella que no tiene instancias directas pero cuyas clases descendientes tienen instancias directas
Una clase es concreta si es instanciable
Tarea 2 en casaDocumente, mediante ejemplos de la vida real, diferentes a los vistos en clase, cada uno de los siguientes conceptos: Objeto clase Agregacin- Composicin- Herencia
Los observadores pueden cladificar el mismo concepto de diferentes maneras