Contenido del Curso
Java POO
Java POO
¿Qué Es una Interfaz?
¿Qué sucede si necesitamos heredar de más de una clase? Java nos permite hacer esto mediante interfaces. A pesar de su nombre, una interfaz es muy similar a una clase abstracta. Veamos cómo se declara una interfaz:
En términos simples, una interfaz se utiliza para definir métodos que una clase implementará. Las interfaces tienen una sintaxis distinta para su creación. Mientras que usamos "public class className { }
" al crear una clase, la sintaxis para crear una interfaz es diferente:
InterfaceExample
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
Prestar atención a la declaración de métodos;
No se utilizan modificadores de acceso;
No se proporcionan cuerpos de métodos;
No es necesario etiquetar los métodos como abstractos ya que estamos trabajando dentro de una interfaz;
No se crean campos dentro de las interfaces.
Consideremos el uso de una Interface
utilizando el ejemplo de un Reproductor Multimedia.
Tenemos una Interface
llamada MediaPlayer
que posee los métodos play
, pause
y stop
. Además, existen dos clases que implementan esta interfaz de reproductor multimedia, denominadas AudioPlayer
y VideoPlayer
.
MediaPlayer
AudioPlayer
VideoPlayer
public interface MediaPlayer { void play(); void pause(); void stop(); }
Como puedes ver, creamos una interface
y dos clases que implementan esta interfaz. La sintaxis es la misma que cuando se sobrescriben métodos abstractos. Hemos sobrescrito cada método para cada clase para que realice su propia función específica.
Una de las características de las interfaces es que podemos implementar más de una interfaz. Veamos un ejemplo:
Vehicle
VehicleInfo
Car
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Hemos creado las interfaces Vehicle
y VehicleInfo
. Además, hemos creado una clase Car
que implementa ambas interfaces. De esta manera, se puede elegir qué comportamiento implementar en la clase, lo que complementa adecuadamente el principio de abstracción en la programación orientada a objetos.
Trabajar con interfaces es muy conveniente y se utilizan ampliamente. En el próximo capítulo, también exploraremos las principales diferencias entre una interfaz y una clase abstracta, y aprenderemos cuál es mejor utilizar en la práctica.
1. ¿Qué es una interfaz en Java?
2. En Java, ¿puede una clase implementar múltiples interfaces?
3. ¿Cuál es el propósito de una interfaz en Java?
4. ¿Qué palabra clave se utiliza para implementar una interfaz en una clase?
5. ¿Qué sucede si una clase afirma implementar una interfaz pero no proporciona implementaciones para todos sus métodos?
¡Gracias por tus comentarios!