La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMACION ORIENTADA A OBJETOS

Presentaciones similares


Presentación del tema: "PROGRAMACION ORIENTADA A OBJETOS"— Transcripción de la presentación:

1 PROGRAMACION ORIENTADA A OBJETOS
UML Y JAVA PROGRAMACION ORIENTADA A OBJETOS

2 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

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

4 public class MiClase { … }

5 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

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

7 Objeto =Identidad + Estado + Comportamiento
Es independiente de su estado No cambia durante la vida del objeto

8 Esta dado por los valores de sus atributos
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

9 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

10 Representación grafica de una clase
Una clase se representa con un rectángulo dividido: Nombre de la clase Atributos Operaciones

11 public class Cuenta { …. } Cuenta

12 private double balance; //saldo private double limit; //límite }
public class Cuenta { private double balance; //saldo private double limit; //límite } Cuenta -balance:double -limit:double

13 public class Cuenta { private double balance; //saldo private double limit; //límite public void ingresar(…).. public void retirar(…)… } Cuenta -balance:double -limit:double +Ingresar():void +retirar():void

14 private double balance; //saldo private double limit; //límite
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

15 RELACIONES ENTRE CLASES
DIAGRAMAS UML

16 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

17 Existen distintos tipos de relaciones:
Asociacion (conexion entre clases) Dependencia (relacion de uso) Generalizacion/especializacion (relaciones de herencia)

18 Asociación Es una relación estructural, la cual describe relación entre objetos. Cliente Dirección Vive en

19 Cuenta Cliente Unidireccional Cuenta Cliente -balance -Limite -fecha
+ingresar() +Retirar() Unidireccional Cuenta Cliente * Titular 1 -balance -Limite -fecha --nombre -apellido -direccion bidireccional

20 Cuenta Dinero Cuenta +ingresar() +Retirar() -balance: Dinero

21 class Cuenta { private Dinero balance; public void ingresar (Dinero cantidad); balance +=cantidad; } public void retirar (Dinero cantidad); balance-=cantidad; public Dinero getSaldo() return balance;

22 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)

23 Todo departamento tiene un director
Profesor Departamento Todo departamento tiene un director Un profesor puede dirigir un departamento Profesor Departamento * Todo profesor pertenece a un departamento A un departamento pueden pertenecer varios profesores Cliente Cuenta 0..* * Relación opcional Un cliente puede o no ser titular de una cuenta Relación obligatoria Una cuenta ha de tener un titular como mínimo

24 Casos particulares de asociaciones Relación entre un todo y sus partes
Agregación Casos particulares de asociaciones Relación entre un todo y sus partes Polígono Punto contiene *

25 Composición 1 barra titulo 0..2 cuerpo 0..1 ScrollBar Cabecera Ventana
Panel ScrollBar -titulo:Cabecera -Cuerpo: Panel -barra[2]: ScrollBar 1 0..2 0..1 titulo cuerpo barra

26 Dependencia Ecuación Math -coeficientes[3] + pow() + resolver()
+sqrt() + resolver()

27 Herencia (generalización y especialización)
Empleado Profesor Admin.

28 NIVELES DE ENCAPSULACION
Visibilidad Significado Java Pública Se 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 # Privada Solo puede acceder al miembro de la clase desde la propia clase private -


Descargar ppt "PROGRAMACION ORIENTADA A OBJETOS"

Presentaciones similares


Anuncios Google