Diagramas de Clase Angela Carrillo R..

1 Diagramas de Clase Angela Carrillo R. ...
Author: Demetrio Toro
0 downloads 2 Views

1 Diagramas de Clase Angela Carrillo R.

2 Clase Nombre de la clase Atributos Descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica Implementa una o más interfaces Métodos/Operaciones

3 Atributos Propiedad de una clase identificada con un nombre, que describe un rango de valores que pueden tomar las instancias de la propiedad Representa alguna propiedad del elemento que se está modelando que es compartida por todos los objetos de esa clase.

4 Método/Operación Implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre un comportamiento. Abstracción de algo que se puede hacer a un objeto y que es compartido por todos los objetos de la clase.

5 Otros componentes Responsabilidad: Contrato u obligación de una claseEl polígono es responsable de dibujarse, saberse trasladar, calcular su área y perímetro, sabe dar su color… Opcional Se coloca en otra cajita debajo de las operaciones o métodos.

6 Relaciones Conexión entre elementosDependencias: relaciones de uso entre clases Generalizaciones: conectan clases generales con sus especializaciones Superclase/Subclase Padre/Hijo Asociaciones: relaciones estructurales entre objetos

7 Ejemplo de relaciones Asociación Dependencia Generalización

8 Relación de DependenciaRelación de uso que declara que un elemento utiliza la información y los servicios de otro elemento pero no necesariamente a la inversa Un elemento “utiliza” a otro Una clase utiliza las operaciones de otra Utiliza variables o parámetros cuyo tipo viene dado por la otra clase

9 Relación de DependenciaSi la clase utilizada cambia, la operación de la otra clase puede verse también afectada porque la clase utilizada puede presentar ahora una interfaz o un comportamiento diferente.

10 Relación de GeneralizaciónUn elemento general (superclase) y un caso más específico de ese elemento (subclase) “un objeto de la subclase es un tipo de un objeto de la superclase”

11 Relación de GeneralizaciónPolimorfismo Una implementación de una operación en la subclase (hijo) redefine la implementación de la misma operación en la superclase (padre) Dos métodos con la misma firma (nombre, parámetros, tipo de retorno). Uno en el padre y uno en el hijo Polígono (padre): float calcularArea(); Cuadrado (hijo): float calcularArea();

12 Relación de GeneralizaciónPolimorfismo Sea un Polígono p y un Triangulo t : Todos los objetos de las subclases pueden asignarse a objetos de la superclase Es válido: p=t; // t es un Polígono Para asignar a un objeto de la subclase un objeto de la superclase, es necesario hacer un “Casting” No es válido: t=p; // No todo Polígono es un triángulo!!! Es válido: t = (Triangulo) p; // si y sólo si el Polígono que hay en p es efectivamente un Triángulo

13 Asociación Relación estructural que especifica que los objetos de un elemento están conectados con los objetos de otro. Características Nombre: Describir la naturaleza de la relación. Rol: la cara que la clase de un extremo de la asociación presenta a la clase del otro extremo Multiplicidad: el tamaño posible del conjunto de objetos relacionados Mínimo .. Máximo

14 Asociación Rol Nombre y orientación Multiplicidad Rol Multiplicidad

15 Agregación Relación TODO/ParteEl objeto del TODO tiene objetos de la parte TODO Partes

16 Clase Abstracta Clases que son incompletasClases de las que no se desea que haya objetos Se les coloca el nombre en itálica Tienen la firma del método pero no la implementación Dicha implementación se deja a los hijos Puede tener atributos Puede tener algunos métodos implementados

17 Clase Abstracta Area=lado*lado Area=base*altura/2 Area=base*altura

18 Diagrama de Clases Muestra un conjunto de clases, así como sus relaciones Permite: Modelar la vista de diseño estático de un sistema Visualizar, especificar y documentar modelos estructurales Incluye: Clases Interfaces Relaciones de dependencia, generalización y asociaciones

19 Ejemplo de Diagrama de Clases