You are on page 1of 6

INTERFACES

De manera informal podemos definir a una interfaz como una clase en la que
se declaran mtodos y valores constantes, pero no se implementan sino que
sern implementados por una clase que, valga la redundancia, implemente
dicha interfaz.
Tanto las clases como las interfaces tienen prcticamente el mismo formato
general, los siguientes puntos definen las diferencias que existen entre una
clase y una interfaz.
Una interfaz al igual que una clase abstracta, declara los mtodos pero
no los implementa.
Una clase puede implementar varias interfaces, manteniendo la
estructura del lenguaje simple y al mismo tiempo, proveyendo las
ventajas de la herencia mltiple.
No se pueden instanciar objetos a partir de una interfaz.
Todos los mtodos de una interfaz son de forma implcita pblicos y
abstractos.
Todas las variables de una interfaz son de forma implcita pblicas,
estticas y finales.
Cuando una clase implementa una interfaz, debe implementar todos y
cada uno de sus mtodos, siempre y cuando, la clase no sea abstracta.
Una interfaz no tiene una clase padre antecesora (como en el caso de las
clases que por omisin tienen a la clase Object), en vez de eso, las
clases tienen una jerarqua independiente que puede ser aplicada a
cualquier nivel del rbol de clases.
Propsito: para forzar al desarrollador a proporcionar esos mtodos,
con detalles, en la clase que implements la interface. En otras palabras,
implementar un interface significa que estamos haciendo la promesa de
usar ciertos mtodos, pero nosotros, los desarrolladores, definimos los
detalles de esos mtodos.

Ejemplo: supongamos que tenemos un equipo de desarrolladores que


estn creando clases para hacer diferentes tipos de objetos animales.
Todos esos animales van a tener dos cosas en comn:
Usan alguna forma de locomocin.
Comen alguna clase de comida.
La diferencia entre los animales est en cmo se mueven y qu y cmo
comen. En otras palabras, cada uno necesita tener los mtodos
comoSeMueve() y comoCome(), pero cada individuo, cada clase
animal, define los detalles de esos mtodos separadamente basndose
en las necesidades de las especies de animales. Diseamos una interface
para asegurarnos de que cada objeto animal hace ciertas cosas

Completar el proyecto teniendo en cuenta los siguientes ajustes al diseo:

El APIi Java tiene muchas interfaces que podemos implementar. Para


programacin GUI, una interface se asegura de que proporcionemos alguna
funcionalidad en un mtodo especfico. Para hacer algo con el texto
introducido en los campos de texto, necesitamos implementar la interface
ActionListener y manejar los eventos.
Los eventos son objetos que un usuario inicia, como un texto introducido, un
botn pulsado, o un movimiento del ratn sobre un componente. El
componente listen (escucha) un evento si quiere handle (manejar) el evento
con una accin, como mostar el texto o escribir en una base de datos. Crear
una clase dirigida por eventos tiene tres pasos:
1. Decidir qu tipo de eventos dispara un componente, e implementar el
interface correcto.

2. Registrar el componente como un oyente para ese tipo de evento.


3. Implementar los mtodos manejadores de la interface.
Cuando un usuario dispara un evento a travs de un componente GUI, se hace
una llamada a un mtodo de cualquier objeto que haya sido registrado con el
componente como oyente del tipo de evento que tuvo lugar. Un oyente de
eventos es un objeto al que se le notifica cuando ocurre un evento.
Veamos un ejemplo prctico.

i El API Java es una Interfaz de Programacin de Aplicaciones (API: por sus siglas en
ingls) provista por los creadores del lenguaje Java, y que da a los programadores los
medios para desarrollar aplicaciones Java. Referencia:
http://es.wikipedia.org/wiki/API_Java