SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Interfaces
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Junio, 2022
Loja, Ecuador
2
1. Interfaces
2. Método abstracto
3. Representación en UML
4. Atributos de una interfaz
5. Ejemplo
Agenda
3
Interfaces

Son plantillas que permiten definir métodos abstractos

Es una colección de métodos sin implementar

Establecen el comportamiento que tendrán las clases que las implemente

Resuelven el problema de herencia simple porque una clase puede implementar
más de una interfaz

Establecen el término “able” que significa

modificable, configurable

Las clases que implementa a las interfaces pueden codificar el cuerpo de los
métodos abstractos de acuerdo a sus requerimientos.

Se pueden declarar constantes pero siempre que no sean variables de instancia
4
Interfaces
La estructura es similar al de una clase, pero para diferenciarlas se utiliza la palabra
reservada interface, su sintaxis es:
public interface NombreInterfaz{
// métodos abstractos
}
Todas las interfaces son abstractas por tal razón se deben definir o declarar métodos
abstractos
5
¿Qué es un método abstracto?

Es un método declarado pero no implementado

Es un método del que solo se define su cabecera y se omite su cuerpo, su sintaxis es:
modificador tipo_dato nombreMétodo(parámetros);

Al agregar el separador de instrucciones “;” al final de la cabecera del método, se
establece que carece de implementación y de forma implícita es un método abstracto

En las interfaces NO se puede declarar métodos con cuerpo o implementados
6
Representación en UML
En UML las interfaces se definen a través del estereotipo <<interfaz>>
public interface InstrumentoMusical {
public void tocar();
public void afinar();
public String tipoInstrumento();
}
7
Representación en UML

El siguiente paso es implementar la interfaz mediante las clases implementadora

En UML la flecha entre cortada especifica que una clase implementará los métodos
abstractos de una interfaz

Donde nace la flecha se ubica la clase implementadora y en la cabecera la interfaz, en la
siguiente figura se representa la relación de implementación:
8
Representación en UML

Ahora representaremos en UML la relación de implementación entre la interfaz
“InstrumentoMusical” y la clase “InstrumentoViento”.
public interface InstrumentoMusical {
public void tocar();
public void afinar();
public String tipoInstrumento();
}
public class InstrumentoViento implements InstrumentoMusical {
public void tocar(){}
public void afinar(){}
public String tipoInstrumento(){}
}
9
Representación en UML

En Java, la palabra reservada implements establece que una clase implementará los
métodos abstractos de una interfaz

La implementación de los métodos abstractos de la interfaz InstrumentoMusical
es:
public class InstrumentoViento implements InstrumentoMusical {
@Override
public void tocar() {
System.out.println("entonar");
}
@Override
public void afinar() {
System.out.println("Afinar");
}
@Override
public String tipoInstrumento() {
return "";
}
}
10
Representación en UML

En el ejemplo, la implementación se establece en la cabecera de la clase agregando la
palabra reservada implements y el nombre de la interfaz

La clase InstrumentoViento está en la obligación de implementar los métodos
abstractos de la interfaz, en otras palabras, sobre escribirlos y codificar su cuerpo

A cada método implementado se suele utilizar la anotación @Override sobre la
cabecera del método, esto permite aclarar ha sido sobre escrito

En la interfaz NO es necesario utilizar la palabra reservada abstract en los métodos
porque de manera implícita los métodos son declarados como abstractos
11
Atributos en una interfaz

Las interfaces puede definir constantes pero deben ser públicas o abstractas

No se pueden declarar variables de instancia

Todas las constantes incluidas en una interfaz se declaran implícitamente como public,
static y final (también se pueden omitir) y es necesario inicializarlas en la misma
sentencia de declaración
public interface Constantes {
double valorMaximo = 10000000.0;
double valorMinimo = -0.01;
int MAXIMUM_DEPTH = 100;
final static boolean UNDERWATER = true;
public static final String TYPE = "Submersible";
}
12
Heredar una interfaz
1.Hereda todos los métodos abstractos como sus propios métodos abstractos
2.La primera clase concreta que implementa una interfaz, o extiende una clase abstracta
que implementa una interfaz, debe proporcionar una implementación para todas los
métodos abstractos heredadas
●
Se puede extenderse usando la palabra clave extends
●
La nueva interfaz secundaria hereda todos los métodos abstractos de la interfaz
principal
●
A diferencia de una clase abstracta, una interfaz puede extender varias interfaces
13
Heredar una interfaz
public interface HasTail {
public int getTailLength();
}
public interface HasWhiskers {
public int getNumberOfWhiskers();
}
public interface Seal extends HasTail, HasWhiskers {
}
14
Método predeterminado
●
Es un método con la palabra reservada default, que proporciona un cuerpo de método
●
Un método predeterminado define un método abstracto con una implementación predeterminada
●
Las clases tienen la opción de anular el método predeterminado si lo necesitan, pero no están obligadas a
hacerlo
●
Si la clase no anula el método, se utilizará la implementación predeterminada
public interface IsWarmBlooded {
public boolean hasScales();
public default double getTemperature() {
return 10.0;
}
}
public class Body implements ISWarmBlooded {
public boolean hasScales(){
return false;
}
}
15
Método Estático
●
Estos métodos se definen explícitamente con la palabra reservada static
●
Funcionan de manera casi idéntica a los métodos estáticos definidos en las clases
●
Un método estático definido en una interfaz no se hereda en ninguna clase que implemente la
interfaz
public interface Hop {
public static int getJumpHeight() {
return 8;
}
}
public class ClasePrueba {
public void prueba(){
Hop.getJumpHeight();
}
}
16
Ejemplo

Analicemos el siguiente ejercicio:

Existen dos interfaces, cada una ha definido métodos
abstractos, la clase implementadora
InstrumentoViento implementar las dos interfaces

Java permite la implementación de varias interfaces y las
separa a través de “,”.
Su sintaxis es:
public class NombreClase implements InterfazUna, InterfazDos, ……{
}
17
Ejemplo

La codificación de la interfaz AcordesMusicales es:
public interface AcordesMusicales {
public void obtenerSonido();
public void obtenerAcorde();
}
18
Ejemplo

La codificación de la clase implementadora InstrumentoViento es:
public class InstrumentoViento implements InstrumentoMusical, AcordesMusicales {
@Override
public void tocar() {
System.out.println("entonar");
}
@Override
public void afinar() {
System.out.println("Afinar");
}
@Override
public String tipoInstrumento() {
return "";
}
@Override
public void obtenerSonido() {
System.out.println("sonido devuelto");
}
@Override
public void obtenerAcorde() {
System.out.println("acorde devuelto");
}
19
Ejemplo

La clase InstrumentoViento al implementar las interfaces
InstrumentoMusical y AcordesMusicales está en la obligación de
implementar todos los métodos abstractos declarados en las interfaces y para
identificarlos se utiliza la anotación @Override
20
Cŕeditos
• Transparencias basadas por:
• Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros
• Libro: Martina Seidl · Marion Scholz, Christian Huemer · Gerti
Kappel, UML @ Classroom, An Introduction to Object-Oriented
Modeling
Networking académico:
Correo electrónico: rguaman@unl.edu.ec
Twitter: @rene5254
SlideShare: https://es.slideshare.net/rene5254
21
Gracias

Más contenido relacionado

Similar a interfaces.pdf (20)

Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
Benalcazar esteban
Benalcazar estebanBenalcazar esteban
Benalcazar esteban
 
Tema5
Tema5Tema5
Tema5
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad ii
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad ii
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
Clase 4 java 2011
Clase 4 java 2011Clase 4 java 2011
Clase 4 java 2011
 
01 fundamentos-java
01 fundamentos-java01 fundamentos-java
01 fundamentos-java
 
Interfaces 14k
Interfaces 14kInterfaces 14k
Interfaces 14k
 
Tema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazTema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfaz
 
Resumen interfaces
Resumen interfacesResumen interfaces
Resumen interfaces
 
Clases abs e interfaces
Clases abs e interfacesClases abs e interfaces
Clases abs e interfaces
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Clases abstractas interfaces
Clases abstractas interfacesClases abstractas interfaces
Clases abstractas interfaces
 
Interfaces
InterfacesInterfaces
Interfaces
 
Interfaces
InterfacesInterfaces
Interfaces
 
Interfaces
InterfacesInterfaces
Interfaces
 

Más de Rene Guaman-Quinche

Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosRene Guaman-Quinche
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfRene Guaman-Quinche
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfRene Guaman-Quinche
 
Introducción a los sistemas distribuidos
Introducción a los sistemas distribuidosIntroducción a los sistemas distribuidos
Introducción a los sistemas distribuidosRene Guaman-Quinche
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos DistribuidosRene Guaman-Quinche
 
Unidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosUnidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosRene Guaman-Quinche
 
Tiempo, causalidad y estado global
Tiempo, causalidad y estado globalTiempo, causalidad y estado global
Tiempo, causalidad y estado globalRene Guaman-Quinche
 
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaTiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaRene Guaman-Quinche
 
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasTiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasRene Guaman-Quinche
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socketRene Guaman-Quinche
 

Más de Rene Guaman-Quinche (20)

Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a Objetos
 
Fundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdfFundamentos ingeniería de requisitos.pdf
Fundamentos ingeniería de requisitos.pdf
 
replicacion heterogenea.pdf
replicacion heterogenea.pdfreplicacion heterogenea.pdf
replicacion heterogenea.pdf
 
Elicitación de requerimientos
Elicitación de requerimientosElicitación de requerimientos
Elicitación de requerimientos
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdf
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Introducción a los sistemas distribuidos
Introducción a los sistemas distribuidosIntroducción a los sistemas distribuidos
Introducción a los sistemas distribuidos
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos Distribuidos
 
RPC
RPCRPC
RPC
 
Unidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosUnidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetos
 
Tiempo, causalidad y estado global
Tiempo, causalidad y estado globalTiempo, causalidad y estado global
Tiempo, causalidad y estado global
 
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaTiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
 
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasTiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socket
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
RMI
RMIRMI
RMI
 

Último

BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 

Último (7)

BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 

interfaces.pdf

  • 1. Interfaces René Guamán-Quinche Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables Carrera de Ingeniería en Sistemas/Computación Junio, 2022 Loja, Ecuador
  • 2. 2 1. Interfaces 2. Método abstracto 3. Representación en UML 4. Atributos de una interfaz 5. Ejemplo Agenda
  • 3. 3 Interfaces  Son plantillas que permiten definir métodos abstractos  Es una colección de métodos sin implementar  Establecen el comportamiento que tendrán las clases que las implemente  Resuelven el problema de herencia simple porque una clase puede implementar más de una interfaz  Establecen el término “able” que significa  modificable, configurable  Las clases que implementa a las interfaces pueden codificar el cuerpo de los métodos abstractos de acuerdo a sus requerimientos.  Se pueden declarar constantes pero siempre que no sean variables de instancia
  • 4. 4 Interfaces La estructura es similar al de una clase, pero para diferenciarlas se utiliza la palabra reservada interface, su sintaxis es: public interface NombreInterfaz{ // métodos abstractos } Todas las interfaces son abstractas por tal razón se deben definir o declarar métodos abstractos
  • 5. 5 ¿Qué es un método abstracto?  Es un método declarado pero no implementado  Es un método del que solo se define su cabecera y se omite su cuerpo, su sintaxis es: modificador tipo_dato nombreMétodo(parámetros);  Al agregar el separador de instrucciones “;” al final de la cabecera del método, se establece que carece de implementación y de forma implícita es un método abstracto  En las interfaces NO se puede declarar métodos con cuerpo o implementados
  • 6. 6 Representación en UML En UML las interfaces se definen a través del estereotipo <<interfaz>> public interface InstrumentoMusical { public void tocar(); public void afinar(); public String tipoInstrumento(); }
  • 7. 7 Representación en UML  El siguiente paso es implementar la interfaz mediante las clases implementadora  En UML la flecha entre cortada especifica que una clase implementará los métodos abstractos de una interfaz  Donde nace la flecha se ubica la clase implementadora y en la cabecera la interfaz, en la siguiente figura se representa la relación de implementación:
  • 8. 8 Representación en UML  Ahora representaremos en UML la relación de implementación entre la interfaz “InstrumentoMusical” y la clase “InstrumentoViento”. public interface InstrumentoMusical { public void tocar(); public void afinar(); public String tipoInstrumento(); } public class InstrumentoViento implements InstrumentoMusical { public void tocar(){} public void afinar(){} public String tipoInstrumento(){} }
  • 9. 9 Representación en UML  En Java, la palabra reservada implements establece que una clase implementará los métodos abstractos de una interfaz  La implementación de los métodos abstractos de la interfaz InstrumentoMusical es: public class InstrumentoViento implements InstrumentoMusical { @Override public void tocar() { System.out.println("entonar"); } @Override public void afinar() { System.out.println("Afinar"); } @Override public String tipoInstrumento() { return ""; } }
  • 10. 10 Representación en UML  En el ejemplo, la implementación se establece en la cabecera de la clase agregando la palabra reservada implements y el nombre de la interfaz  La clase InstrumentoViento está en la obligación de implementar los métodos abstractos de la interfaz, en otras palabras, sobre escribirlos y codificar su cuerpo  A cada método implementado se suele utilizar la anotación @Override sobre la cabecera del método, esto permite aclarar ha sido sobre escrito  En la interfaz NO es necesario utilizar la palabra reservada abstract en los métodos porque de manera implícita los métodos son declarados como abstractos
  • 11. 11 Atributos en una interfaz  Las interfaces puede definir constantes pero deben ser públicas o abstractas  No se pueden declarar variables de instancia  Todas las constantes incluidas en una interfaz se declaran implícitamente como public, static y final (también se pueden omitir) y es necesario inicializarlas en la misma sentencia de declaración public interface Constantes { double valorMaximo = 10000000.0; double valorMinimo = -0.01; int MAXIMUM_DEPTH = 100; final static boolean UNDERWATER = true; public static final String TYPE = "Submersible"; }
  • 12. 12 Heredar una interfaz 1.Hereda todos los métodos abstractos como sus propios métodos abstractos 2.La primera clase concreta que implementa una interfaz, o extiende una clase abstracta que implementa una interfaz, debe proporcionar una implementación para todas los métodos abstractos heredadas ● Se puede extenderse usando la palabra clave extends ● La nueva interfaz secundaria hereda todos los métodos abstractos de la interfaz principal ● A diferencia de una clase abstracta, una interfaz puede extender varias interfaces
  • 13. 13 Heredar una interfaz public interface HasTail { public int getTailLength(); } public interface HasWhiskers { public int getNumberOfWhiskers(); } public interface Seal extends HasTail, HasWhiskers { }
  • 14. 14 Método predeterminado ● Es un método con la palabra reservada default, que proporciona un cuerpo de método ● Un método predeterminado define un método abstracto con una implementación predeterminada ● Las clases tienen la opción de anular el método predeterminado si lo necesitan, pero no están obligadas a hacerlo ● Si la clase no anula el método, se utilizará la implementación predeterminada public interface IsWarmBlooded { public boolean hasScales(); public default double getTemperature() { return 10.0; } } public class Body implements ISWarmBlooded { public boolean hasScales(){ return false; } }
  • 15. 15 Método Estático ● Estos métodos se definen explícitamente con la palabra reservada static ● Funcionan de manera casi idéntica a los métodos estáticos definidos en las clases ● Un método estático definido en una interfaz no se hereda en ninguna clase que implemente la interfaz public interface Hop { public static int getJumpHeight() { return 8; } } public class ClasePrueba { public void prueba(){ Hop.getJumpHeight(); } }
  • 16. 16 Ejemplo  Analicemos el siguiente ejercicio:  Existen dos interfaces, cada una ha definido métodos abstractos, la clase implementadora InstrumentoViento implementar las dos interfaces  Java permite la implementación de varias interfaces y las separa a través de “,”. Su sintaxis es: public class NombreClase implements InterfazUna, InterfazDos, ……{ }
  • 17. 17 Ejemplo  La codificación de la interfaz AcordesMusicales es: public interface AcordesMusicales { public void obtenerSonido(); public void obtenerAcorde(); }
  • 18. 18 Ejemplo  La codificación de la clase implementadora InstrumentoViento es: public class InstrumentoViento implements InstrumentoMusical, AcordesMusicales { @Override public void tocar() { System.out.println("entonar"); } @Override public void afinar() { System.out.println("Afinar"); } @Override public String tipoInstrumento() { return ""; } @Override public void obtenerSonido() { System.out.println("sonido devuelto"); } @Override public void obtenerAcorde() { System.out.println("acorde devuelto"); }
  • 19. 19 Ejemplo  La clase InstrumentoViento al implementar las interfaces InstrumentoMusical y AcordesMusicales está en la obligación de implementar todos los métodos abstractos declarados en las interfaces y para identificarlos se utiliza la anotación @Override
  • 20. 20 Cŕeditos • Transparencias basadas por: • Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros • Libro: Martina Seidl · Marion Scholz, Christian Huemer · Gerti Kappel, UML @ Classroom, An Introduction to Object-Oriented Modeling
  • 21. Networking académico: Correo electrónico: rguaman@unl.edu.ec Twitter: @rene5254 SlideShare: https://es.slideshare.net/rene5254 21 Gracias