uml y java

28
UML Y JAVA PROGRAMACION ORIENTADA A OBJETOS

Upload: lorand

Post on 13-Jan-2016

82 views

Category:

Documents


1 download

DESCRIPTION

UML Y JAVA. PROGRAMACION ORIENTADA A OBJETOS. CLASE. Implementación de un tipo de dato Una clase sirve tanto de módulo como de tipo Tipo : Descripción de un conjunto de objetos ( equipado con ciertas operaciones ) Modulo : Unidad de composición de software. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: UML Y  JAVA

UML Y JAVAPROGRAMACION ORIENTADA A OBJETOS

Page 2: UML Y  JAVA

CLASE

Implementación de un tipo de datoUna clase sirve tanto de módulo como de tipo

• Tipo: Descripción de un conjunto de objetos (equipado con ciertas operaciones)

• Modulo: Unidad de composición de software

Page 3: UML Y  JAVA

Cada clase:• Se define en un archivo independiente• Se carga en memoria cuando se necesita

Page 4: UML Y  JAVA

public class MiClase{

…}

Page 5: UML Y  JAVA

OBJETO

Instancia de una clase:Unidad atómica que encapsula estado y comportamiento

• Un objeto puede caracterizar una entidad física

• Todos los objetos son instancia de una clase• Todos los objetos de una misma clase

comparten ciertas características: comportamiento y atributos

Page 6: UML Y  JAVA

Todo objeto tiene:• Identidad (puede distinguirse de otros objetos)• Estado (datos asociados a el)• Comportamiento (puede hacer cosas)

Page 7: UML Y  JAVA

Objeto =Identidad + Estado + Comportamiento

Identidad: • Es independiente de su estado• No cambia durante la vida del objeto

Page 8: UML Y  JAVA

Estado:

Esta dado por los valores de sus atributos- Cada atributo toma un valor en un dominio- El estado del objeto evoluciona con el tiempo- Los atributos de un objeto no deben ser

manipulables directamente por el resto de los objetos.

- Se protegen los datos de accesos indebidos- Se distingue entre interfaz de implementación- Se facilita el mantenimiento dfel sistema

Page 9: UML Y  JAVA

Comportamiento

Los métodos definen el comportamiento del objeto

• Agrupan competencias• Describen acciones

Nota: Relación competencia estado: Un avión no puede aterrizar si no esta en vuelo

Page 10: UML Y  JAVA

Representación grafica de una clase

• Una clase se representa con un rectángulo dividido:• Nombre de la clase• Atributos• Operaciones

Page 11: UML Y  JAVA

public class Cuenta{….}

Cuenta

Page 12: UML Y  JAVA

public class Cuenta{private double balance; //saldoprivate double limit; //límite

}

Cuenta

-balance:double-limit:double

Page 13: UML Y  JAVA

public class Cuenta{private double balance;

//saldoprivate double limit;

//límitepublic void ingresar(…)..public void retirar(…)…}

Cuenta

-balance:double-limit:double

+Ingresar():void+retirar():void

Page 14: UML Y  JAVA

public class Cuenta{ private double balance; //saldo private double limit; //límite

public void ingresar(double cantidad) { balance=balance+cantidad; } public void retirar(double cantidad) { balance=balance-cantidad; }}

Cuenta

-balance:double-limit:double

+Ingresar(double cantidad ):void+retirar(double cantidad):void

Page 15: UML Y  JAVA

RELACIONES ENTRE CLASES

DIAGRAMAS UML

Page 16: UML Y  JAVA

Las relaciones existentes entre las clases nos indican como se comunican los objetos de esas clases entre si.

Los mensajes navegan por relaciones existentes entre las distintas clases

Page 17: UML Y  JAVA

Existen distintos tipos de relaciones:

• Asociacion (conexion entre clases)• Dependencia (relacion de uso)• Generalizacion/especializacion (relaciones de

herencia)

Page 18: UML Y  JAVA

Asociación

Es una relación estructural, la cual describe relación entre objetos.

Cliente Dirección

Vive en

Page 19: UML Y  JAVA

Cuenta Cliente

* Titular 1

Cuenta Cliente

* Balance 1

+ingresar()+Retirar()

-balance-Limite-fecha

--nombre-apellido-direccion

Unidireccional

bidireccional

Page 20: UML Y  JAVA

Cuenta Dinero

* Balance 1

+ingresar()+Retirar()

Cuenta

+ingresar()+Retirar()

-balance: Dinero

Page 21: UML Y  JAVA

class Cuenta{ private Dinero balance;

public void ingresar (Dinero cantidad);{balance +=cantidad;}

public void retirar (Dinero cantidad);{balance-=cantidad;}

public Dinero getSaldo() {

return balance; }}

Page 22: UML Y  JAVA

Multiplicidad Sginificado

1 Uno y solo uno

0..1 Cero o uno

N..M Desde N hasta M

* Cero o varios

0..* Cero o Varios

1..* Uno o varios (al menos uno)

Page 23: UML Y  JAVA

Profesor Departamento

1 0..1

Profesor Departamento

* 1

Cliente Cuenta

0..* 1..*

Todo departamento tiene un directorUn profesor puede dirigir un departamento

Todo profesor pertenece a un departamentoA un departamento pueden pertenecer varios profesores

Relación opcionalUn cliente puede o no ser titular de una cuenta

Relación obligatoriaUna cuenta ha de tener un titular como mínimo

Page 24: UML Y  JAVA

• AgregaciónCasos particulares de asociacionesRelación entre un todo y sus partes

Polígono Puntocontiene

0..1 3..*

Page 25: UML Y  JAVA

• Composición

Ventana

Cabecera

Panel ScrollBar

Ventana

-titulo:Cabecera-Cuerpo: Panel-barra[2]: ScrollBar

11

0..21

10..1

titulo

cuerpo

barra

Page 26: UML Y  JAVA

• Dependencia

EcuaciónMath

-coeficientes[3]

+ resolver() + pow()+sqrt()

Page 27: UML Y  JAVA

Herencia (generalización y especialización)

Empleado

Profesor Admin.

Page 28: UML Y  JAVA

NIVELES DE ENCAPSULACION

Visibilidad Significado Java

PúblicaSe puede acceder al miembro de la clase desde cualquier lugar

public +

Protegida

Solo se puede acceder al miembro de la clase o desde una clase que herede de ella

protected #

PrivadaSolo puede acceder al miembro de la clase desde la propia clase

private -