Interfaces en Java
Interfaces en Java
En las interfaces se especifica qué se debe hacer, pero no su implementación. Serán las clases que
implementen estas interfaces las que describan la lógica del comportamiento de los métodos.
Las interfaces se utilizan para definir contratos que las clases deben cumplir, lo que permite lograr
la abstracción y el polimorfismo en la programación orientada a objetos.
características
La clase no puede ser instanciada, tan solo implementada por una clase.
No se puede extender.
Las interfaces en Java son una parte fundamental de la programación orientada a objetos y tienen
varios propósitos importantes:
Definir contratos: Las interfaces permiten definir un conjunto de métodos que las clases concretas
deben implementar. Estos métodos representan un contrato que las clases deben cumplir. Esto
asegura que las clases que implementan una interfaz proporcionen una cierta funcionalidad, lo que
ayuda a garantizar un comportamiento consistente en diferentes partes de un programa.
Facilitar el polimorfismo: Las interfaces son fundamentales para lograr el polimorfismo en Java.
Puedes crear referencias a objetos utilizando el tipo de interfaz en lugar del tipo de clase concreta.
Esto permite cambiar fácilmente la implementación subyacente sin afectar el código que utiliza la
interfaz.
Soporte para herencia múltiple: A diferencia de las clases, en Java, una clase puede implementar
múltiples interfaces. Esto proporciona una forma de lograr una especie de herencia múltiple, lo
que permite que una clase herede comportamiento de varias fuentes diferentes.
Realizar la Implementar la interface MediaPlayer en la cual se establece los métodos play(), pause()
y stop() de las cuales van hacer implementados por la clase Audio y Video, posteriormente crear
una clase TestMediaPlayer en donde se implementara la función principal void() y se verificar las
funcionalidades de la clase Audio y Video.
Ejemplo 2
El primero que permita ingresar el nombre de dos jugadores, tirar dos dados y mostrar
cuál de los dos ganó.
El segundo juego permita a un jugador adivinar un número entre 1 y 5 que elige la
computadora al azar.
Podemos decir que todo juego tiene un inicio, estado de juego propiamente dicho y un fin. Si
queremos estandarizar estos dos juegos y posibles nuevos juegos podemos declarar una interface
llamada 'Juego' que declare los métodos: iniciar, jugar y finalizar.
Luego cada vez que creemos un juego debe respetar esta interface implementándola.
Par probar el funcionamiento codificaremos una tercer clase donde crearemos un objeto para cada
uno de los juegos con el nombre TestJuego.
Ejercicio Propuesto