PDF de programación - PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UML

Imágen de pdf PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UML

PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UMLgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.062 visualizaciones desde el 14 de Enero del 2017
706,8 KB
63 paginas
Creado hace 15a (10/09/2008)
PROGRAMACIÓN ORIENTADA A
PROGRAMACIÓN ORIENTADA A

OBJETOS
OBJETOS

Master de Computación
Master de Computación

II MODELOS y HERRAMIENTAS

UML

II.3 UML: Modelado estructural

II.3 UML: Modelado estructural

Elena Mediavilla

1

1

Concepto de objeto y de clase
Concepto de objeto y de clase

• Objeto: Concepto, abstracción o cosa con límites bien
definidos y con significado para el problema que se está
manejando.
– Todos

los objetos presentan una

identidad, que

los hace

distinguibles, un estado y un comportamiento.

– El término identidad significa que los objetos se distinguen por su
existencia inherente y no por propiedades descriptivas que puedan
tener.

• Clase: Descripción abstracta de un grupo de objetos con
propiedades similares (atributos), comportamiento común
(operaciones), relaciones comunes con otros objetos y
semántica común.

II.3 UML: Modelado estructural

Elena Mediavilla

2

2

Concepto de objeto y de clase
Concepto de objeto y de clase

• Todos los objetos son instancias de una clase y la clase de

un objeto es una propiedad implícita del objeto.

– Cada objeto conoce su clase y la mayoría de los lenguajes de
programación orientados al objeto pueden determinar la clase de un
objeto en tiempo de ejecución.

• La agrupación en clases de

los objetos permite

la

abstracción de un problema:

– Las definiciones comunes, tales como nombres de clases y de

atributos se almacenan una vez por cada clase.

– Las operaciones se escriben una vez para cada clase ⇒ reutilización

de código.

II.3 UML: Modelado estructural

Elena Mediavilla

3

3

Concepto de objeto y de clase
Concepto de objeto y de clase

• En UML, una clase es un tipo de clasificador cuyas características son

atributos y operaciones.

• Símbolos UML de clase y objeto.

Persona

Clase

Juan:

Persona

Marcos:
Persona

: Persona

Objetos

II.3 UML: Modelado estructural

Elena Mediavilla

4

4

Atributos
Atributos

• Las clases

tienen atributos que representan alguna
propiedad de la clase que comparten todos los objetos de
esa clase.

• Un atributo es una propiedad nombrada de una clase, que
describe un rango de valores que puede tomar esa
propiedad en las instancias.
– Por ejemplo, nombre, edad o peso son atributos de objetos

Persona.

• Cada nombre de atributo es único dentro de una clase, pero

cada atributo tiene un valor para cada instancia de la clase.
– Diferentes instancias de objetos pueden tener los mismos o

distintos valores para un atributo dado.

– La identidad implícita del objeto permite distinguir objetos en que

todos los valores de los atributos sean idénticos.

II.3 UML: Modelado estructural

Elena Mediavilla

5

5

Atributos
Atributos

• Un atributo debería ser un valor de datos puro, no un

objeto.
– Los valores de datos puros, a diferencia de los objetos, no tienen

identidad.

Persona

nombre: string
edad: integer

Juan:

Persona

Marcos:
Persona

nombre = "Juan"
edad = 24

nombre = "Marcos"
edad = 52

Clase con Atributos

Objetos con Valores

II.3 UML: Modelado estructural

Elena Mediavilla

6

6

Operaciones
Operaciones

• Una operación es una función o transformación que puede

ser aplicada por o sobre objetos de una clase.
– Todos los objetos de una clase comparten las mismas operaciones.

– Una operación es la implementación de un servicio que puede

requerirse de cualquier objeto de la clase.

• Cada operación tiene a un objeto determinado como
argumento implícito y el comportamiento de la operación
depende de la clase de este objeto.
– Un objeto conoce su clase y, por tanto, la implementación correcta

de la operación.

II.3 UML: Modelado estructural

Elena Mediavilla

7

7

Operaciones
Operaciones

• Operación polimórfica: la misma operación toma formas

diferentes sobre clases diferentes.
– Por ejemplo, la operación mover para una figura de dos

dimensiones y para una figura de tres dimensiones.

• Método: implementación de una operación para una clase.

• Cuando una operación tiene métodos para diferentes clases
es importante que todos ellos tengan la misma signatura
(número y tipo de argumentos y tipo de resultado).
– Los argumentos son parámetros de la operación pero no afectan a
la elección del método. El método sólo depende de la clase del
objeto sobre el que actúa.

II.3 UML: Modelado estructural

Elena Mediavilla

8

8

Operaciones
Operaciones

• Las operaciones en una clase definen lo que la clase puede

hacer y pueden considerarse como la interfase de la clase.

• Operación pregunta (query): es aquélla operación que
únicamente calcula un valor funcional sin modificar
ningún objeto.
– Las preguntas sin argumentos, salvo el objeto al que se aplican,

pueden considerarse como atributos derivados.

Persona

Fichero

Objeto geometrico

nombre
edad

nombre fichero
tamaño en bytes
ultima actualizacion

color
posicion

cambiar de trabajo( )
cambiar de direccion( )

imprimir( )

mover (delta: vector)
seleccionar (p:punto): Boolean
rotar (angulo)

II.3 UML: Modelado estructural

Elena Mediavilla

9

9

Resumen de notación
Resumen de notación

• Una clase se representa con un recuadro dividido en tres

regiones, que contienen, de arriba a abajo:

Nombre de la clase

Nombre_de_atributo_1: tipo_de _dato_1 = valor_por_defecto_1
Nombre_de_atributo_2: tipo_de _dato_2 = valor_por_defecto_2
. . .
Nombre_de_operación_1 (lista_de_argumentos_1): tipo_de_resultado_1
Nombre_de_operación_2 (lista_de_argumentos_2): tipo_de_resultado_2
. . .



• Los atributos y operaciones pueden mostrarse o no,

dependiendo del nivel de detalle deseado.

II.3 UML: Modelado estructural

Elena Mediavilla

10

10

Resumen de notación
Resumen de notación

• Los atributos y las operaciones
pueden tener diferentes niveles de
visibilidad.
– Público: visible por todos los clientes

de la clase.

– Protegido: visible por las subclases

de la clase.

– Privado: visible sólo para la clase.
– Paquete: visible para cualquier clase

del mismo paquete.

– Atributos y operaciones estáticos
(static) o de clase: son propios de la
clase, no de la instancia. Son visibles
por todos los objetos de la clase.



Nombre de la clase

+ Atributo público
# Atributo protegido
- Atributo privado
~Atributo de paquete
Atributo de clase

+ Operación pública()
# Operación protegida()
- Operación privada()
~Operación de paquete
Operación de clase()

II.3 UML: Modelado estructural

Elena Mediavilla

11

11

Diagramas de clases y de objetos
Diagramas de clases y de objetos

• Un diagrama de clases describe la estructura estática de un sistema en
términos de clases y de relaciones entre estas clases, mostrando los
atributos y operaciones que caracterizan cada clase de objetos.

• Un diagrama de objetos representa la estructura estática del sistema
mostrando los objetos (instancias) en el sistema y las relaciones entre
los objetos.

• Un diagrama de clases dado corresponde a un conjunto infinito de

diagramas de objetos.

Autor

Usa

nombre : String
edad: integer

0..*

Computador

nombre: String
memoria: integer

1..*

Bob: Autor

nombre = "Bob"
edad = 32

II.3 UML: Modelado estructural

Elena Mediavilla

PC de Bob:
Computador

nombre = "Dell630"
memoria = 2

12

12

Relaciones entre clases
Relaciones entre clases

• Asociación: es una conexión entre clases, que implica la
existencia de una relación estructural entre objetos de esas
clases.

• Generalización: es una relación entre una clase más general

y una más específica o especializada.

• Dependencia: es una relación de uso entre clases.

Ventana

dependencia

abrir()
cerrar()
mover()
manejarEvento()

Evento

asociación

generalización

Consola

Dialogo

Control

II.3 UML: Modelado estructural

Elena Mediavilla

13

13

Enlaces y asociaciones
Enlaces y asociaciones

• Los enlaces y las asociaciones son los medios de establecer relaciones

entre objetos y clases, respectivamente.

• Enlace: es una conexión física o conceptual entre instancias de objetos.

– Matemáticamente, un enlace se define como una tupla, es decir, una lista

ordenada de instancias de objetos.

• Asociación: describe un grupo de enlaces con estructura y semántica

comunes.

– Todos los enlaces de una asociación conectan objetos de las mismas clases.

– Un enlace es una instancia de una asociación.

Universidad

Una asociación

Estudiante

II.3 UML: Modelado estructural

Elena Mediavilla

Cantabria:
Universidad

U n e n l ace

Un enlace

Pedro:
Estudiante

Ana:
Estudiante

Barcelona:
Universidad

Un enlace

Carlos:
Estudiante

14

14

Enlaces y asociaciones
Enlaces y asociaciones

• Una asociación puede tener un nombre que describe la naturaleza de la

relación.

• Las asociaciones son bidireccionales.

– La dirección en que se lee el nombre de una asociación binaria es la

dirección directa y la dirección opuesta es la dirección inversa.

– La dirección del nombre puede indicarse con un pequeño triángulo sólido.
– En ciertos casos, sólo es útil una dirección de navegación; esto se

representa con una flecha orientada.

Usa

Autor

Computador

0..*

1..*

Posee

Persona

Coche

0..*

II.3 UML: Modelado estructural

Elena Mediavilla

15

15

Enlaces y asociaciones
Enlaces y asociaciones

• Las asociaciones pueden ser binarias, ternarias o de más alto orden.

– Una asociación ternaria o de orden mayor es una unidad atómica y no

puede subdividirse en asociaciones binarias sin pérdida de información.

Proyecto

Lenguaje

Persona

Programa CAD:

Proyecto

C: Lenguaje

María:
Persona

Sistema

de contabilidad:

Proyecto

Cobol:

Lenguaje

II.3 UML: Modelado estructural

Elena Mediavilla

16
  • Links de descarga
http://lwp-l.com/pdf1109

Comentarios de: PROGRAMACIÓN ORIENTADA A OBJETOS - II MODELOS y HERRAMIENTAS UML (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad