Documente Academic
Documente Profesional
Documente Cultură
Departamento de Informtica
FCEFN UNSJ
Ao 2011
Propsitos que persigue la unidad:
TDA:
1. Un tipo de datos definido por el programador,
P.O.O
El auge de interfaces grficas
de usuario, la aparicin de
aplicaciones especiales para
Cada vez son mas sofisticadas las la WEB ha impulsado a
exigencias que deben satisfacer las nuevas formas de desarrollo
aplicaciones, las estructuras de datos de software
a utilizar ms complejas y mayor la
base de usuarios que deben acceder a
las aplicaciones.
Un poco de Historia
Algol
2000
Java 1996
C#
Un poco de Historia
C parte de un lenguaje anterior, el lenguaje B, escrito por Ken Thompson en 1970
con el objetivo de recodificar el sistema operativo UNIX, que hasta el momento se
haba programado en ensamblador.
En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien disea
finalmente C a partir del B de Thompson, aportando un diseo de tipos y
estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy
superior.
El objeto combina los datos (atributos del objeto) con los procedimientos
u operaciones (mtodos) que actan sobre dichos datos.
1. Objetos
2. Clases
3. Mtodos y Mensajes
4. Herencia
Objetos
EXTRACCIONES MOSTRAR
Objetos
Un coche
Ford K
BBA 123
40
80
?
? RECEPTOR
Una cuenta
32.123.451
1345,56
3
EMISOR
Objetos
Objeto = Estado + Comportamiento + Identidad
El estado agrupa los valores instantneos de todos los atributos de un
objeto. El estado evoluciona con el tiempo.
OBJETO ENCAPSULAMIENTO
5: Entrega video
:Cliente :Alquiler
Objetos Diagramas de secuencia
Estos diagramas muestran interacciones entre objetos segn un punto de
vista temporal. Un objeto se representa por un rectngulo y una barra
vertical llamada lnea de vida de los objetos. El orden de envo de los
mensajes est dado por la posicin sobre el eje vertical.
Solicita alquilar
video Verifica estado
Registra alquiler
AbrirFormularioMail
AdministrarMails
Salir
Objetos Diagramas de secuencia Juego de Damas
MoverPieza muevePieza
ValidarMovimiento
RefrescarPantalla
MoverComputadora
ObtenerEstadoActual
EstadoActual
AnalizarEstadoActual
RealizarMovimiento
RefrescarPantalla
Objetos Diagramas de secuencia
Fragmentos combinados
Iteracin para que el diagrama de secuencia modele una llamada desde un telfono celular a
travs de un nmero de la misma provincia (un nmero de 9 dgitos).
Clases
89789/01
Nmero de cuenta: cadena Es una instancia 1540.50
Saldo: real 2
Cant-extracciones: entero
+ Atributo pblico
-Nmero de cuenta: cadena
# Atributo protegido
-Saldo: real
- Atributo privado
-Cant-ext: entero
+ Mtodo pblico
# Mtodo protegido
- Mtodo privado +depositar;
+extraer;
+consultarsaldo;
Clases Mtodos y Mensajes
ALUMNO
A1
-Nombre: cadena A2
-Fecha Nac.:cadena
Ana Perez
-Fecha Ingr.: cadena Juan Castro
12/8/80
15/3/2000 +Mostrar_Datos() 21/9/82
+Mostrar_Edad() 20/3/2002
+Mostrar_Indice()
A1.Mostrar_Edad() A2.Mostrar_Edad()
Mensaje
Mtodo Alumno.Mostrar_Edad()
Herencia Generalizacin y Especializacin
La generalizacin consiste en factorizar los elementos comunes
(atributos, mtodos y restricciones) de un conjunto de clases en una
clase ms general llamada superclase.
VEHCULO
generalizacin
VEHCULO VEHCULO
TERRESTRE AREO
CUENTA BANCARIA
especializacin
CAJA DE CUENTA
AHORRO CORRIENTE
EN PESOS EN
DOLARES
Herencia Generalizacin y Especializacin
Docente Administrativo
D
-Ttulo: cadena -Categora: entero
Juan Prez -Dedicacin: cadena
11.456.789 +Calcular_Incentivo() +Calcular_Bonificacin()
Ingeniero
Exclusiva
clase concreta clase concreta
Herencia mtodos y mensajes
ALUMNO
E.Mostrar_Indice()?
Egresado
E
-Fecha_egre: cadena Juan Garca E.Mostrar_Promedio()?
-Prom_Gral: real 21/10/83
+Mostrar_Promedio() 15/3/1992
+Mostrar_Indice() 15/8/1998
+Mostrar_Fegre() 7.50
Herencia variables de clase y de instancia
Impresin
ImpresinFacturas ImpresinNotaCredito
ImpresinRecibos
-Nro_Factura
............
-momCliente
-......................
+ emitirfactura()
+ . variables de instancia
Herencia Tipos de herencia
TRAPECIO
Herencia simple
PARALELOGRAMO
Herencia simple
ROMBO RECTANGULO
Herencia mltiple
CUADRADO
cd Business Process Model
Persona
Alumno
Empleado
Docente NoDocente
Hereda
caractersticas
de Alumno y
de Docente
Ayudante
Herencia
cd Business Process Model
:void que
+ aterrizar() varias
clases
pueden
+ despegar() : void
+ mostrarDatos() : void
compartir una misma
descripcin.
Las relaciones entre las clases expresan una forma de acoplamiento entre
ellas.
Asociacin
Agregacin
Alumno Asignatura
-matrcula -cdigo
+ nombre
+DNI inscripcin
+ .............
+ ............. 1..* 1..*
+ ............. + .............
-nombre
+pacientes Atendidos
Ubicacim
Obras_Arte
-piso
-autor -num_sala
-estilo
? ?
+.......... +..........
Asociacin Clase Asociacin
Alumno Asignatura
Agregacin Composicin
Agregacin (Agregacin)
Un objeto de una clase contiene como partes a objetos de otras clases
La destruccin del objeto continente no implica la destruccin de sus partes.
Los tiempos de vida de los objetos continente y contenido no estn tan estrechamente
acoplados, de modo que se pueden crear y destruir instancias de cada clase
independientemente.
Orden de 1..*
todo Pedido
Museo 1 1..* Obra
1..*
1..*
Plato
1..*
Bebida parte
parte
Se suele decir que el objeto continente incluye referencias a objetos de otras clases
Agregacin (Agregacin)
Propietario 1..n
Propiedad
1..*
Un objeto de una clase contiene como partes a objetos de otras clases y estas partes estn
fsicamente contenidas por el agregado.
Los tiempos de vida de los objetos continente y contenido estn estrechamente acoplados
La destruccin del objeto continente implica la destruccin de sus partes.
1
1
AVION
2 2
Ala Hlice
Las composiciones generan una relacin de existencia entre el todo y cada una de
sus partes.
Agregacin (Composicin )
Alumno
-nombre: cadena
-Curso: entero Garage
-grupo: entero Lugar
-nota: Nota_Final -nombre=Ruta 10
-disponibilidad=75 -piso
1 1..n
+imprimir datos -libre: entero -zona
1 -lugares: Lugar -numero
+Ocupar() + estado()
1
+Liberar +..............
Nota_Final +..........
-calificacion
-comentario_prof
Una accin sobre una clase implica una accin sobre otra clase.
Los valores de los atributos de una clase se propagan en los valores de
los atributos de otra clase.
+ObtenerEstado
+CambiarEstado
+ .........................
Diagrama de Clases
Diagrama de clases
Objetos
Diagrama de Clases
(ACTIVIDAD
Conjunta)
cd
Domain
Obj
ects
Persona
- ApellidoNombre: String
Identifique
el
- dni: int
tipo de
relaciones
Domicilio existentes
int entre
las
clases
Viaj ero Mucama - calle: String
- fechaIngreso:
Fecha
- numero:
- numeroTarjeta: int
- piso: int y la
- legajo: int
cardinalidad
- telefono: int
- departamento: char
- mail:
int
de las mismas.
Habitacin
Localidad Prov incia
- numero:
int - identificador:
int - identificador:
int
- tipo: int
Ocupa - nombre: String - nombre: int
- fechaIngreso:
Fecha
- cantidadDias: int
Actividad para presentar
Polimorfismo
Capacidad que tienen objetos de clases diferentes, relacionados
mediante la herencia, a responder de forma distinta a una misma
llamada de un mtodo.
Fomenta la extensibilidad del software
Software escrito para invocar comportamiento polimrfico se escribe
en forma independiente del tipo de los objetos a los cuales los
mensajes son enviados
Nuevos tipos de objetos, que pudieran responder a mensajes
existentes, pueden ser agregados en dicho sistema sin modificar el
sistema base.
Conceptos Claves (3)
Persistencia
designa la capacidad de un objeto de trascender el tiempo o el espacio
un objeto persistente conserva su estado en un sistema de
almacenamiento permanente (pasivacin del objeto)
el objeto puede ser reconstruido (activacin del objeto) por otro proceso y
se comportar exactamente como en el proceso inicial