UML Y JAVA

Preview:

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

Citation preview

UML Y JAVAPROGRAMACION ORIENTADA A OBJETOS

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

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

public class MiClase{

…}

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

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

Objeto =Identidad + Estado + Comportamiento

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

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

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

Representación grafica de una clase

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

public class Cuenta{….}

Cuenta

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

}

Cuenta

-balance:double-limit:double

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

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

RELACIONES ENTRE CLASES

DIAGRAMAS UML

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

Existen distintos tipos de relaciones:

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

herencia)

Asociación

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

Cliente Dirección

Vive en

Cuenta Cliente

* Titular 1

Cuenta Cliente

* Balance 1

+ingresar()+Retirar()

-balance-Limite-fecha

--nombre-apellido-direccion

Unidireccional

bidireccional

Cuenta Dinero

* Balance 1

+ingresar()+Retirar()

Cuenta

+ingresar()+Retirar()

-balance: Dinero

class Cuenta{ private Dinero balance;

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

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

public Dinero getSaldo() {

return balance; }}

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)

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

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

Polígono Puntocontiene

0..1 3..*

• Composición

Ventana

Cabecera

Panel ScrollBar

Ventana

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

11

0..21

10..1

titulo

cuerpo

barra

• Dependencia

EcuaciónMath

-coeficientes[3]

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

Herencia (generalización y especialización)

Empleado

Profesor Admin.

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 -

Recommended