Ir al contenido principal

Cómo implementar una interface en Java

Cuando se implementa una interface se está aceptando una especie de contrato definido en la interface. Esto significa que estás aceptando el proveer implementaciones legales para cada método definido en la interface.

Por ejemplo, si se crea una clase que implemente la interface Runnable (para que el código pueda ser ejecutado por un hilo específico), debes de proveer el método public void run(). De otra manera, el hilo podría querer ser ejecutado pero al momento de buscar el método que le indique qué hacer simplemente no lo encontrará por que no fue definido. Java previene este tipo de situaciones ejecutando un chequeo por medio del compilador que verifíca que cada clase que implemente una interface provea de igual manera la implementación de cada uno de los métodos contenidos dentro de esta interface.

Asumiendo la interface Rebotable, que contiene dos métodos: rebotar() y setFactorRebote(), el siguiente código de clase compilaría sin problemas:

public class Pelota implements Rebotable{
public void rebotar(){}
public void setFactorRebote(int fr){}
}

Analizando el código anterior nos damos cuenta de que la implementación se efectúa, aunque los métodos simplemente no hagan nada, con esto concluimos que la implementación de una interface garantiza la implementación de los métodos definidos dentro de ella, pero no una 'buena' implementación, o incluso que los métodos contengan alguna cantidad de código definido dentro de los mismos.

Las clases implementantes deben de seguir las mismas reglas de implementación de los métodos de una interface así como las clases que heredan a otra clase abstracta. Para realizar una implementación legal una clase no abstracta debe de obedecer a las siguientes reglas:

  • Proveer implementación concreta (no abstracta) para todos los métodos declarados en una interface.
  • Seguir las reglas de la sobreescritura de métodos.
  • Declarar excepciones no verificadas en la implementación de los métodos distintos de aquellos declarados por los métodos de la interface, o subclases de aquellos declarados en los métodos de la interface.
  • Mantener la firma de los métodos de la interface, y mantener el mismo tipo de retorno (o un subtipo del tipo de retorno).

Se debe de tomar en cuenta que una clase implementante puede a su vez ser abstracta, por ejemplo:

abstract class Pelota implements Rebotable { }

Si este fuera el caso, la clase simplemente pasa la responsabilidad de la implementación de los métodos de la interface a la primera siguiente clase no abstracta. Por ejemplo, si PelotaDePlaya es una clase no abstracta pero hereda de la clase Pelota, entonces PelotaDePlaya tiene que implementar los métodos de la interface Rebotable...

class PelotaDePlaya extends Pelota{

public void rebotar(){
//métodos que especifican el comportamiento al rebotar
//de una pelota de playa
}

public void setFactorRebote(int bf){
//métodos que especifican el factor de rebote
//de una pelota de playa
}

//Si la clase Pelota define uno o varios métodos abstractos
//deben de ser implementados por la clase PelotaDePlaya de
//igual manera que aquellos de la interface Rebotable.

}

Antes de finalizar, debemos de mencionar algunos aspectos importantes de las interfaces:

1. Una clase puede implementar más de una interface, es perfectamente legal realizar algo como lo siguiente:

public class Pelota implements Rebotable, Serializable, Runnable {
.
.
.
}

Se puede extender o heredar solamente una clase pero implementar varias interaces.

2. Una interface puede extender o heredar a una o más interfaces, pero nunca puede implementar nada.

public interface Rebotable extends Movible, Serializable {} //ok!

La clase que implemente a Rebotable debe de proveer los métodos tanto para rebotable como Movible y Serializable.


Hasta aquí le dejamos con las interfaces en Java.

Algo que decir o alguna duda? Deja tu comentario. Saludox.

Comentarios

  1. Muchas gracias por el minituto... mi hacido de muchisima ayuda, ya que apenas empiezo en este mundo POO y Java...

    Salu2

    Clark

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.