Documente Academic
Documente Profesional
Documente Cultură
El paradigma
Orientado a Objetos.
Programa
El
Historia e introduccin.
Conceptos bsicos.
Aplicacin de los conceptos en
lenguajes de programacin y
mtodos de anlisis.
A
B
S
T
R
A
C
C
I
N
O
P
E
R
A
C
I
O
N
A
L
Evolucin Histrica
Cd.Inst.Simb.
Macros
Subrutinas
Funciones
Anidamiento
Subprogramas
Lenguajes
Mquina /
Ensamblador
Id = Dir Mem.
Manip.Total de
Datos
FORTRAN
Id. Simb.
Tipos
Oper. restring.
PASCAL
Registros
Tipos definidos
Gest. Din. Mem
Encapsulam.
Octult. Inform.
Espec - Impl
MODULA-2
ADA
Mtodos
Mensajes
Lenguajes
Orientados a
Objetos
Tipo
Abstracto de
Datos
A
B
S
T
R
A
C
C
I
N
D
E
D
A
T
O
S
Objetos
A
B
S
T
R
A
C
C
I
N
O
P
E
R
A
C
I
O
N
A
L
Evolucin Histrica
Cd.Inst.Simb.
Macros
Subrutinas
Funciones
Anidamiento
Subprogramas
Encapsulam.
Octult. Inform.
Espec - Impl
Mtodos
Mensajes
Eventos
Invocacin remota
Lenguajes
Mquina /
Ensamblador
FORTRAN
PASCAL
MODULA-2
ADA
Lenguajes
Orientados a
Objetos
Id = Dir Mem.
Manip.Total de
Datos
Id. Simb.
Tipos
Oper. restring.
Registros
Tipos definidos
Gest. Din. Mem
Tipo
Abstracto de
Datos
A
B
S
T
R
A
C
C
I
N
D
E
D
A
T
O
S
Objetos
COMPONENTES
Componentes
Introduccin
Razones
Tecnologa
/ objetivo.
Programa
El
Historia e introduccin.
Conceptos bsicos.
Aplicacin de los conceptos en
lenguajes de programacin y
mtodos de anlisis.
Qu es la Orientacin a Objetos?
partes
Vehculo
Platero:Animal
Animal
Punto
Figura
(1,3)
(2,2)
(5,2.5)
(2,1)
Departamento de Lenguajes y Ciencias de la
Computacin.
Atributos
Operaciones
Comportamiento
OBJETO
Valores de los atributos
Estado
Identidad
Lavadora
marca
modelo
capacidad: integer
...
Programar
PonerRopa
CerrarPuerta
Lavar
ID:Lavadora
marca=Lapava
capacidad=5
estado=centrifugando
MENSAJES
Invocacin
de mtodos
Medio de colaboracin
entre objetos
Conectar()
:MandoADistancia
Canal(4)
:Televisor
10
de detalles
Concepto de Interfaz
Independencia
l+
o
V
Sens
=>
VolUp
=>
Sens3
Vol++
Sens
=> =>
VolUp
=>
Sens3
=>
Vol++
=>
Settings.vol++
DAC31.out=2.1
=>=>
=>Settings.vol++
DAC31.out=2.1
=>
DAC23.out=0.7
Amp27.gain=1.3
=>=>
=>DAC23.out=0.7
Amp27.gain=1.3
=>
Amp02.gain=1.7
OSD,
=>=>
=>Amp02.gain=1.7
OSD, Pref,
Pref, ...
...
=>
OSD,
Pref,
...
=> OSD, Pref, ...
Departamento de Lenguajes y Ciencias de la
Computacin.
11
Generalizacin / Especializacin
Los objetos heredan las caractersticas de la clase.
Las clases pueden heredar de otras clases.
Extensin.
Restriccin.
Modificacin.
Utilidad:
Abstraccin.
Reutilizacin.
Lavadora
Hormiga
capacidad
Electrodomstico
tensin
consumo
Conectar
Desconectar
Televisor
numCanales
Plancha
vapor
12
Cuenta
Abrir()
Puerto
Abrir()
Plazo
Abrir()
13
Motor
rbol
Hoja
14
y Objeto
Atributos
Operaciones
Comportamiento
Identidad
Interfaz
Departamento de Lenguajes y Ciencias de la
Computacin.
Asociacin
Agregacin
Herencia
Polimorfismo
Paso
de mensajes
Encapsulacin
15
Programa
El
Historia e introduccin.
Conceptos bsicos.
Aplicacin de los conceptos en
lenguajes de programacin y
mtodos de anlisis.
16
Clases y Objetos
CLASE
= MODULO + TIPO
Criterio de Modularizacin
Estado + Comportamiento
Entidad esttica (en general)
Identidad
Entidad dinmica
Cada objeto tiene su propio estado
Objetos de una clase comparten su comportamiento
17
Mtodos y Mensajes
Mtodos:
definen el comportamiento de
una clase
Punto
Estado e identidad
x,y: float
trasladar(a,b)
distancia(pto)
Invocacin
Comportamiento
obj.mens(args)
trasladar(1,-1)
mens(obj,args)
P1:Punto
X=2
Y=2
18
Clases
Estructuras
funciones
Punto.hpp
CONSTRUCTOR
class Punto
VARIABLES DE ESTADO
{ public:
(DATOS MIEMBRO)
Punto();
float x,y;
void trasladar(float, float);
void cambiar_x(float a)
{x=a;};
void cambiar_y(float b)
{y=b;};
MTODOS
float distancia(Punto);
(FUNCIONES MIEMBRO)
};
Departamento de Lenguajes y Ciencias de la
19
Computacin.
Asociacin simple
Herencia
Agregacin
Composicin
...
20
Agregacin de objetos
class Segmento {
private Punto inicio,final;
public Segmento(Punto p)
{inicio = Punto();
final = p;}
public float longitud()
{return inicio.distancia(final);}
public void trasladar(float a,float b)
{inicio.trasladar(a,b);
final.trasladar(a,b);}
}
Departamento de Lenguajes y Ciencias de la
Computacin.
21
Composicin de objetos
22
Construccin y Destruccin
Diferentes
Destructores (C++)
Recoleccin automtica de memoria garbage
collection- (Smalltalk, Eiffel, Java)
Departamento de Lenguajes y Ciencias de la
Computacin.
Detalles
23
Herencia
Posibilidad
de reutilizar cdigo
Algo ms que incluir ficheros o importar
mdulos
Figura
Distintos tipos de herencia:
simple / mltiple
de implementacin/de interfaz
Limitaciones
Polgono
Elipse
Problemas
Regular
Irregular
Crculo
Detalles
Departamento de Lenguajes y Ciencias de la
Computacin.
27
Herencia
Extensin
y Reutilizacin de cdigo
Una clase derivada hereda el
comportamiento de su clase padre
Redefinicin de mtodos
Clases abstractas
Herencia mltiple / Herencia repetida
29
Polimorfismo
30
Encapsulacin
Las
31
claro ...
Cmo
32
A continuacin ...
Preparacin:
Tema 3. El Lenguaje de Modelado Unificado.
http://polaris.lcc.uma.es/~amg/ISE/Tema3.zip
Caps. 1,3,4,5. Schmuller. Teach yourself UML in 24 hours.
Cap, 1. Los 3 amigos, The Unified Modeling Language.
Probar/Jugar con Rational Rose y MagicDraw UML.
33