1 Tema 10: Interfaces Antonio J. Sierra
2 Índice 1. Definición de una interfaz.2. Implementación y uso de una interfaz. 3. Extensión de las interfaces. 4. Modelado UML de las interfaces. 5. Casos de uso. Diagrama UML de los casos de uso.
3 Introducción Abstracción completa de la implementación de una clase.La interfaz no define la implementación. Métodos sin cuerpo. Una clase puede implementar cualquier número de interfaces. Una clase sólo puede heredar de una superclase (abstracta o no) Admiten resolución de método dinámica.
4 Definición de Interfaz (I)acceso interface nombre{ tipo var_final1 = valor; tipo var_final2 = valor; // … tipo var_finalN = valor; tipo_devuelto método1 (lista_de_parámetros); tipo_devuelto método2 (lista_de_parámetros); tipo_devuelto métodoN(lista_de_parámetros); }
5 Definición de Interfaz (II)acceso: o public o no se utiliza (por defecto). tipo var_final1 = valor; Implícitamente final y static.
6 Implementación parcialabstract class Imcompleto implements LaInterfaz{ int a, b; void muestra() { System.out.println(a +" " + b); } // …
7 Acceso a implementaciones a través de la interfazSe pueden declarar variables referencias a la interfaz Cualquier instancia que implementa la interfaz puede almacenarse en una variable de ese tipo. El método al que llamar se determina dinámicamente durante la ejecución. Proceso similar al uso de una referencia a la superclase para acceder a un objeto de la subclase.
8 Herencia con interfacesUna interfaz puede heredar otra utilizando la palabra clave extends. La sintaxis es la misma que se utiliza en la herencia de clases. Cuando una clase implementa una interfaz que hereda de otra, tiene que implementar todos los métodos definidos en la cadena de herencia de la interfaz.
9 Interfaz en UML.DefiniciónUna interfaz es una colección de operaciones que especifican un servicio de una clase o componente. Por lo tanto, una interfaz describe el comportamiento visible externamente de ese elemento. Una interfaz puede representar el comportamiento completo de una clase o componente o sólo una parte de este comportamiento. Una interfaz define un conjunto de especificaciones de operaciones (o sea, sus signaturas), pero nunca sus implementaciones. Una interfaz raramente se encuentra asilada, más bien, suele estar conectada a la clase o componente que la realiza.
10 Modelado UML de las interfacesEs un elemento estructural.
11 Caso de uso Un Caso de uso, es una descripción de un conjunto de secuencias de acciones que un sistema ejecuta y que produce un resultado observable de interés para un actor particular. Un caso de uso se utiliza para estructurar los aspectos de comportamiento en un modelo. Un caso de uso es realizado por una colaboración.
12 Modelado de los Casos de UsoEs un elemento estructural Realizar Pedido
13 Diagrama de casos de usoUn diagrama de casos de uso es una representación gráfica de parte o el total de los actores y casos de uso del sistema, incluyendo sus interacciones. Todo sistema tiene como mínimo un diagrama Main Use Case, que es una representación gráfica del entorno del sistema (actores) y su funcionalidad principal (casos de uso). El diagrama muestra los distintos requisitos funcionales que se esperan de una aplicación o sistema y cómo se relaciona con su entorno (usuarios u otras aplicaciones).
14 Actor Un actor es una entidad que utiliza alguno de los casos de uso del sistema. En el ejemplo observamos un único actor representando al usuario de la máquina de café.
15 Ejemplo. Máquina de CaféSe tienen como casos de uso de la máquina de café RecibirDinero, PedirAzucar, PedirProducto, DarVueltas y Cancelar.
16 Tres tipos de Relaciones entre Casos de Uso"comunica" (<
17 Cuando usarlas Se utiliza una relación de tipo <