Introducción a la Tecnología Orientada a Objetos Distintas formas

Anuncio
UAM
Introducción a la Tecnología
Orientada a Objetos
Manuel Alfonseca
Roberto Moriyón
UAM
7/10/03
1
Distintas formas de programar
➤ Programación
clásica, procedimental
➤ Programas
jerárquicos
➤ Datos no organizados
➤ Programación
➤ Programas
lógica
y datos no organizados
➤ Programación
orientada a objetos
➤ Datos
(objetos) jerárquicos
➤ Programas no organizados
UAM
7/10/03
7/10/03
2
1
UAM
La importancia de las palabras
(Frege)
➤ El
lucero de la
mañana es Venus
➤ Venus es un planeta
➤ Un planeta es un
astro
UAM
➤ “lucero
de la
mañana” = “Venus”
➤ “Venus”∈“planeta”
➤ “planeta”⊂”astro”
7/10/03
3
La importancia de las palabras
“El coche tiene color rojo y se mueve”
➤ Nombres:
Objetos y Propiedades de
éstos
➤ Verbos:
Comportamiento de los
objetos
➤ Adjetivos: Valores de las propiedades
UAM
7/10/03
7/10/03
4
2
UAM
Pasos hacia la Orientación a
Objetos
➤ (Según
Peter Wegner, Universidad de Brown, 1987)
➤ Object-Based
➤ Objetos
(APL,Ada, Modula-2)
➤ Class-Based
➤ Clases
(SEDL, Clu)
➤ Object-Oriented
➤ Herencia
➤ (Smalltalk,
C++, JAVA)
UAM
7/10/03
5
Paradigmas de la Programación
Orientada a Objetos
➤ Clase-Elemento
➤ Ninguna
clase es objeto
➤ C++
➤ Toda
clase es objeto
➤ Smalltalk
➤ Prototipo-Elemento
➤ Todo
objeto puede ser prototipo de otros
➤ OOPI,
UAM
7/10/03
Amulet
7/10/03
6
3
UAM
Tecnología Orientada a Objetos
➤ O.O.T.:
Tecnología Orientada a Objetos
➤ O.O.A.: Análisis Orientado a Objetos
➤ O.O.D.: Diseño Orientado a Objetos
➤ O.O.P.: Programación Orientada a Objetos
UAM
7/10/03
7
Elementos de la Programación
Orientada a Objetos
➤ OBJETOS
➤ CLASES
➤ HERENCIA
➤ ENCAPSULAMIENTO
➤ POLIMORFISMO
➤ MENSAJES
UAM
7/10/03
7/10/03
8
4
UAM
Objeto
Propiedades
Métodos
Valores Código
Punteros
Relaciones
UAM
7/10/03
9
Ejemplo de jerarquía
Abuelos, padres e hijos
UAM
7/10/03
7/10/03
10
5
UAM
Ejemplo de jerarquía
Agregación o Composición
UAM
7/10/03
11
Ejemplo de jerarquía
Vehículo
Automóvil
Opel
Seat
Generalización
UAM
7/10/03
7/10/03
12
6
UAM
Herencia
➤ De
métodos
➤ De propiedades
➤ De valores
➤ Simple
➤ Múltiple
UAM
7/10/03
13
Mensajes
OBJETO
OBJETO
Método (parámetros)
UAM
7/10/03
7/10/03
14
7
UAM
Ventajas de la Programación
Orientada a Objetos
➤ Modelos
naturales
➤ Modularidad
➤ Extensibilidad
➤ Eliminación de redundancias
➤ Reutilización
UAM
7/10/03
15
Modelos naturales
UAM
7/10/03
➤ Modelo
mental basado en NOMBRES
➤ Modelo
tradicional basado en VERBOS
➤ Modelo
OO basado en NOMBRES
7/10/03
16
8
UAM
Modularidad
➤ Los
objetos son módulos naturales
➤ Encapsulamiento
➤ Ocultamiento
aisla datos/programas
de la información
UAM
7/10/03
17
Extensibilidad
➤ Es
fácil añadir
➤ Objetos
nuevos
➤ Clases nuevas
➤ Propiedades nuevas
➤ Conductas nuevas
➤ Programación
UAM
7/10/03
incremental
7/10/03
18
9
UAM
Eliminación de redundancias
➤ Las
propiedades comunes a muchos objetos
➤ se
definen en un antepasado común
➤ se heredan del antepasado
➤ Una
propiedad o un método debe definirse
una sola vez
UAM
7/10/03
19
Reutilización
➤ Las
clases (antepasados comunes a muchos
objetos) pueden volverse a utilizar en
aplicaciones diferentes.
➤ Un sistema comercial de OOP debe ir
acompañado de bibliotecas de clases y
métodos.
➤ Las bibliotecas pueden ser independientes.
UAM
7/10/03
7/10/03
20
10
UAM
Framework
➤ Conjunto
de clases que se coordinan para
realizar una función.
➤ Para construir una aplicación hay que
subclasificarlas.
➤ main usualmente incluido en el Framework.
UAM
7/10/03
21
7/10/03
22
Framework
UAM
7/10/03
11
UAM
Parte o componente
➤ Clase
de uso general cuya funcionalidad se
puede reutilizar
UAM
7/10/03
7/10/03
23
12
Descargar