12 abril, 2010

Interfaces en Java

Interfaces en Java
Una interfaz en java es un conjunto de métodos abstractos y propiedades. En ellas 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 todos los métodos de la interfaz.

Ventajas al utilizar interfaces:
  • Se organiza la programación.
  • Obligar a que ciertas clases utilicen los mismos métodos (nombres y parámetros).
  • Establecer relaciones entre clases que no estén relacionadas.
Cómo usarlas?
Java utiliza dos palabras reservadas para trabajar con interfaces que son interface e implements.
Para declarar una interfaz se debe seguir el siguiente orden:
modificador_acceso interface NombreInterfaz 

{
    código de interfaz
}
El modificador de acceso permitido dentro de una interfaz es public o puede no existir. Los atributos que definamos en el cuerpo de la interfaz serán atributos de tipo constante en las clases en las que se implemente.
Para implementar una interfaz en una clase se debe seguir el siguiente orden:





modificador_acceso NombreClase implements NombreInterfaz1 [, NombreInterfaz2]

NOTA: Una clase puede implementar varias interfaces, separando los nombres por comas.

Ejemplo:

Definición de una interfaz:
    interface Nave 
    {
        public static final int VIDA = 100;
 
        public abstract void moverPosicion (int x, int y);
        public abstract void disparar();
        .....
    }

Uso de la interfaz definida:
    public class NaveJugador implements Nave 
    {
        public void moverPosicion (int x, int y)
        {
            //Implementación del método
        }
        public void disparar()
        {
            //Implementación del método
        }
        .....
    }

En resumen los métodos forman la interfaz del objeto con el mundo exterior, un ejemplo, los botones en el frente del televisor, son la interfaz entre el usuario y el cableado eléctrico en el otro lado de la carcasa de plástico. Presiona el botón "POWER" para encender o apagar el televisor.

En su forma más común, una interfaz es un grupo de métodos relacionados con cuerpos vacíos. El comportamiento de una bicicleta, si se especifica como una interfaz, podría aparecer como sigue:






interface Bicicleta
{
       void changeCadence(int newValue); // Revoluciones de la rueda por minuto
       void changeGear(int newValue);
       void speedUp(int increment);
       void applyBrakes(int decrement);
}
Para implementar esta interfaz, el nombre de la clase debe cambiar (a una marca concreta de la bicicleta, por ejemplo, como ACMEBicycle), y tendrá que utilizar la palabra clave implements en la declaración de la clase:




ACMEBicycle clase implements Bicicleta (// resto de esta clase implementada como antes)
Al implementar una interfaz esto permite que la clase se vuelva más formal sobre el comportamiento que se compromete a proporcionar. Para crea una interfaz:

4 comentarios:

  1. Estimados lectores, en el concepto de interfaz detallado en la parte superior, personalmente creo que hay que incluir una parte, esto con la finalidad de mejorar el concepto.

    -->Concepto anterior:
    Una interfaz en java es un conjunto de métodos abstractos y propiedades. En ellas 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.

    --> A mi criterio:
    Una interfaz en java es un conjunto de métodos abstractos y propiedades. En ellas 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 -todos los métodos- de la interfaz.

    ResponderBorrar
    Respuestas
    1. Hola Daniel, gracias por comentar y por tu sugerencia, ya la incluyo en el post.

      Saludos!! =)

      Borrar
  2. Galo, porque en toda la informacion que bsuco esta ud? jaja Buena ayuda =D Pd, Recuperate pronto!

    ResponderBorrar
    Respuestas
    1. Hola Rosa, gracias por comentar, me alegra que te haya sido de ayuda la explicación, y sobre la otra parte del comentario, parece que siempre anda buscando información sobre mí! :o xD

      Gracias por todo! =)

      Borrar