Interfaces


Incluye todo lo que  objetos debería ser  capaces de ofrecer.

Una interfaz es un conjunto de métodos abstractos y de constantes cuya funcionalidad es la de determinar el funcionamiento de una clase, es decir, funciona como un molde o como una plantilla. Al ser sus métodos abstractos estos no tienen funcionalidad alguna, sólo se define su tipo, argumento y tipo de retorno.

características de las Interfaces:
  • Las Interfaces solo pueden tener visibilidad de package o public.
  • Todos los métodos declarados en una Interfaz son public y abstract, si no se le indica, Java lo pondrá implícitamente.
  • Los métodos de una Interfaz no pueden ser estáticos, ya que estos deben ser redefinidos, y al ser estáticos les sería imposible.
  • Todos los atributos declarados en una Interfaz son "public static final" y deberán tener asignado un valor constante. Todos los nombres de constantes van en "MAYÚSCULAS".
  • Una clase puede implementar una o más interfaces.
  • Una Interfaz puede heredar de una o varias interfaces, pero no pueden implementar NADA. Como sabemos, las clases solo pueden heredar de otra clase, pero las Interfaces pueden hacer herencia múltiples.
  • Todas las clases que implementen una interfaz deben de redefinir todos los métodos de esa interfaz.
  • Las interfaces no tienen constructor, por lo que no es posible crear objetos con el operador "new" de ésta.
  • Si se implementa en una clase una Interfaz, y esta Interfaz hereda de otra, la clase deberá implementar todos los métodos de la interfaz que implementa y de los métodos que esta hereda.
  • Para la herencia de las interfaces se pone la palabra clave extends y se ponen todas las interfaces que se deseen separadas por comas.
  • Una Interfaz puede ocultar constantes y métodos heredados de otras Interfaces si los vuelve a declarar en la clase que hereda.
Ejemplo:
si usted se entera que alguien es salvavidas, él  sabrá responder ante una emergencia en el agua. Por una  parte está la descripción de qué sabe hacer un salvavidas y por  otro hay personan que tienen esas “implementaciones”


La palabra reservada del lenguaje para declarar este tipo de construcciones es interface.
    public interface Dibujable{
         public void dibujar();
    }
Como puede observarse el método dibujar termina en "punto y coma" y no tiene ningún código de implementación (obsérvese que no incorpora llaves a continuación).
Posteriormente podremos declarar clases que cumplan (implementen) la interface, para ello, en la declaración de la clase emplearemos la palabra implements seguida del nombre de la interface a implementar:
    public class Rectangulo implements Dibujable{
         public void dibujar(){
              System.out.println("____________");
              System.out.println("|          |");
              System.out.println("|__________|");
         }
    }

Comentarios

Entradas más populares de este blog

Clases Abstractas

Herencia