Beruflich Dokumente
Kultur Dokumente
Departamento de Lenguajes y Ciencias de la Computacin E.T.S. de Ingenieros en Informtica Universidad de laga http://www.lcc.uma.es/~amg/ISE/Tema2.zip
&rograma
El
'istoria e introduccin. !onceptos b%sicos. (plicacin de los conceptos en lenguajes de programacin m)todos de an%lisis.
!iencias de la !omputacin.
A B S T R A C C I N O P E R A C I O N A L
E#olucin 'istrica
C"d#Ins$#Simb# Ma%! s Sub!u$inas (un%i nes Anidamien$ Sub'! g!amas En%a'sulam# O%$ul$# In) !m# Es'e% , Im'l M.$ d s Mensajes Lenguajes Mquina / Ensamblad ! (ORTRAN Id & Di! Mem# Mani'#T $al de Da$ s Id# Simb# Ti' s O'e!# !es$!ing# Regis$! s Ti' s de)inid s *es$# Din# Mem Ti' Abs$!a%$ de Da$ s Obje$ s
PASCAL
!iencias de la !omputacin.
A B S T R A C C I N O P E R A C I O N A L
E#olucin 'istrica
C"d#Ins$#Simb# Ma%! s Sub!u$inas (un%i nes Anidamien$ Sub'! g!amas En%a'sulam# O%$ul$# In) !m# Es'e% , Im'l
Id & Di! Mem# Mani'#T $al de Da$ s Id# Simb# Ti' s O'e!# !es$!ing# Regis$! s Ti' s de)inid s *es$# Din# Mem Ti' Abs$!a%$ de Da$ s
M.$ d s Mensajes
Obje$ s
COMPONENTES
C m' nen$es
!iencias de la !omputacin.
Introduccin
*a+ones
,'acer un l%pi+ es difcil ,La industria del software se parece m%s a ...
la fabricacin de armas la fontanera-
Tecnologa
Departamento de Lenguajes "ni#ersidad de $%laga
. objeti#o.
5
!iencias de la !omputacin.
&rograma
El
'istoria e introduccin. !onceptos b%sicos. (plicacin de los conceptos en lenguajes de programacin m)todos de an%lisis.
!iencias de la !omputacin.
"n sistema OO funciona mediante la colaboracin entre los objetos 0ue se comunican entre s.
!iencias de la !omputacin.
Platero:Animal Animal
5"2.5#
O45ETOS
Lavadora
marca modelo capacidad: integer ... Programar PonerRopa CerrarPuerta Lavar ID:Lavadora marca=Lapava capacidad=! e"tado=centri#ugando
O45ETO
6alores de los atributos Estado Identidad
!iencias de la !omputacin.
!iencias de la !omputacin.
!%
*en" =, Vol2p =, *en"+ Vol)) *en" =, =, Vol2p =, *en"+ =, Vol)) =, *etting".vol)) =, DAC+-.out=..=, *etting".vol)) =, DAC+-.out=..=, DAC.+.out=3./ =, Amp./.gain=-.+ =, DAC.+.out=3./ =, Amp./.gain=-.+ =, Amp3..gain=-./ =, 0*D1 =, Amp3..gain=-./ =, 0*D1 Pre#1 Pre#1 ... ... =, 0*D1 Pre#1 ... =, 0*D1 Pre#1 ...
Departamento de Lenguajes "ni#ersidad de $%laga !iencias de la !omputacin.
!!
9enerali+acin . Especiali+acin Los objetos :;eredan< las caractersticas de la clase. Las clases pueden ;eredar de otras clases.
E1tensin. *estriccin. $odificacin.
5lectrodom6"tico ten"i7n con"umo Conectar De"conectar
"tilidad3
(bstraccin. *eutili+acin.
Lavadora 4ormiga capacidad
%elevi"or numCanale"
Plancha vapor
!iencias de la !omputacin.
!2
&ermite al modelador ;ablar el lenguaje del cliente. E#ita asignar identificadores artificiosos para distinguir las operaciones. !ontribu e a la reutili+acin de cdigo. Ej3 Operacin :Enc;ufar< %omaDeCorriente
ten"i7n 5nchu#ar&e:5lectrodom6"tico'
!iencias de la !omputacin.
!3
la relacin entre objetos >necesaria para 0ue se comuni0uen colaboren? (sociacin@!lase . Enlace@Objeto Tipos b%sicos3
(sociacin 'erencia (gregacin . !omposicin >agregacin fuerte?
Coche $otor :r9ol 4o;a
!iencias de la !omputacin.
!4
surge el enfo0ue OO. !mo funciona un sistema OO. El concepto la representacin de3
!lase
Objeto
(sociacin
(gregacin 'erencia
&olimorfismo &aso
Interfa+
Departamento de Lenguajes "ni#ersidad de $%laga
de mensajes Encapsulacin
!5
!iencias de la !omputacin.
&rograma
El
'istoria e introduccin. !onceptos b%sicos. (plicacin de los conceptos en lenguajes de programacin m)todos de an%lisis.
!iencias de la !omputacin.
!6
!lases
!L(SE
Objetos
A $OD"LO B TI&O
!7
$)todos
Mtodos3
$ensajes
Invocaci
o9;.men"&arg"'
$!aslada!012,13
!iencias de la !omputacin.
!8
!lases
Est"uctu"as!#ue!encapsulan!datos!$!
funciones
cla"" Punto 4ARIABLES DE ESTADO @ pu9lic: 0DATOS MIEMBRO3 Punto&'A #loat <1=A void tra"ladar&#loat1 #loat'A void cam9iarB<&#loat a' @<=aACA void cam9iarB=&#loat 9' @==9ACA M5TODOS #loat di"tancia&Punto'A 0(+NCIONES MIEMBRO3 CA Departamento de Lenguajes !iencias de la !omputacin. !$ "ni#ersidad de $%laga
CONSTR+CTOR
'P(nto.)&&*
objetos >clases? colaboran para resol#er problemas. La forma en 0ue los objetos >clases? colaboran puede ser mu #ariada3
(sociacin simple 'erencia (gregacin !omposicin ...
!iencias de la !omputacin.
2%
(gregacin de objetos
cla"" *egmento @ private Punto inicio1#inalA pu9lic *egmento&Punto p' @inicio = Punto&'A #inal = pAC pu9lic #loat longitud&' @return inicio.di"tancia&#inal'AC pu9lic void tra"ladar&#loat a1#loat 9' @inicio.tra"ladar&a19'A #inal.tra"ladar&a19'AC C
Departamento de Lenguajes "ni#ersidad de $%laga !iencias de la !omputacin.
2!
!omposicin de objetos
pu9lic cla"" 4a9itacion @ private int num4a9itacionA private int numCama"A DD declaraci7n de m6todo" ... C pu9lic cla"" 4otel- @ 4a9itacion h-A 4a9itacion h.A DD re"to declaracione" ... h- = neE 4a9itacion& ... 'A C
!iencias de la !omputacin.
22
!onstruccin
Diferentes
Destruccin
mecanismos para la creacin la eliminacin de objetosC dependiendo del lenguaje. !onstruccin de objetos > reservar memoria?3
!onstructores >!BBC EiffelC 5a#a? $)todos de clase >SmalltalD?
Eliminacin
Destructores >!BB? *ecoleccin autom%tica de memoria Egarbage collection@ >SmalltalDC EiffelC 5a#a?
Departamento de Lenguajes "ni#ersidad de $%laga !iencias de la !omputacin.
Detalle"
23
'erencia
&osibilidad
de reutili+ar cdigo (lgo m%s 0ue incluir fic;eros o importar mdulos Figura Distintos tipos de ;erencia3
simple . mFltiple de implementacin.de interfa+
Limitaciones &roblemas
Polgono
5lip"e
Regular
Irregular
Crculo
Detalle"
Departamento de Lenguajes "ni#ersidad de $%laga !iencias de la !omputacin.
27
'erencia
E1tensin
*eutili+acin de cdigo "na clase deri#ada ;ereda el comportamiento de su clase padre *edefinicin de m)todos !lases abstractas 'erencia mFltiple . 'erencia repetida
!iencias de la !omputacin.
2$
&olimorfismo
'un$e! a bje$ en C66
"na
#ariable puede referirse a objetos de una clase distinta de la 0ue se ;a declarado Tipo Din%mico #s. Tipo Est%tico &olimorfismo de objetos . de mensajes *estriccin en base a la ;erencia
!iencias de la !omputacin.
3%
Encapsulacin
Las
clases ocultan los detalles de reali+acin de los m)todos. Los :usuarios< >los objetos 0ue in#ocan esos m)todos? conocen el interfa+ la sem%ntica. 7o tienen 0ue preocuparse de los detalles. El concepto de interfa+ puede ampliarse. !ontribu e a la reusabilidad del cdigo.
!iencias de la !omputacin.
3!
surge e#oluciona el concepto OO. !u%les son los elementos caractersticas b%sicas de este enfo0ue. !mo se plasma el enfo0ue OO en los lenguajes de programacin. Las particularidades 0ue se introducen sobre los conceptos b%sicos al aplicarlos en sistemas reales
!iencias de la !omputacin.
32
( continuacin ...
&reparacin3 Tema G. El Lenguaje de Modelado Unificado. ;ttp3..polaris.lcc.uma.es.Hamg.ISE.TemaG.+ip !aps. ICGCJCK. Sc;muller. Teach yourself UML in 24 hours. !apC I. :Los G amigos<C The Unified Modeling Language. &robar.5ugar con Rational Rose y MagicDra UML.
!iencias de la !omputacin.
33