(Java) ¿Quién puede dar un ejemplo de "programación orientada a interfaz"?
Es muy simple. ¿Qué tal si te doy una interfaz en una biblioteca de clases de Java? Es un MouseListener de uso frecuente:
/*
* @ ( #)MouseListener.java 1.17 12/03/19
*
* Copyright 2004 Sun Microsystems, Inc. Todos los derechos reservados.
* PROPIEDAD DE SUN/CONFIDENCIAL El uso está sujeto a los términos de la licencia.
*/
paquete java.awt.event;
import java.util.EventListener;
<. p>/*** La interfaz de escucha para recibir eventos "interesantes" del mouse
* (presionar, soltar, hacer clic, entrar y salir) en un componente.
p>* (Para rastrear los movimientos y arrastres del mouse, use el
* lt;codegt;MouseMotionListenerlt;/codegt;.)
* lt;Pgt;
p>* La clase que está interesada en procesar un evento del mouse
* implementa esta interfaz (y todos los métodos que
* contiene) o extiende la abstract lt; codegt; MouseAdapterlt;/codegt; class
* (anulando solo los métodos de interés).
* lt;Pgt;
* El oyente El objeto creado a partir de esa clase se registra con un
* componente utilizando el método lt;codegt;addMouseListenerlt;/codegt;
* Se genera un evento de mouse cuando se activa el mouse. presionado, liberado
* hecho clic (presionado y liberado) También se genera un evento de mouse cuando
* el cursor del mouse ingresa o sale de un componente.
* ocurre, se invoca el método relevante en el objeto de escucha y
* t
se le pasa * * @author Carl Quinn * @version 1.17, 19/12 / 03 * * @see MouseAdapter * @see MouseEvent * @see lt;a href="/docs / books/tutorial/post1.0/ui/mouselistener.html"gt;Tutorial: Escribir un oyente de mouselt;/agt; * @see lt;a href="/cp/javaseries/jcl1_2. "gt; Referencia: Bibliotecas de clases de Java (archivo de actualización) lt; /agt; * * @since 1.1 */ la interfaz pública MouseListener extiende EventListener { /** * Se invoca cuando se hace clic en el botón del mouse (se presiona * y se suelta) en un componente. */ public void mouseClicked(MouseEvent e); /** * Invocado cuando un botón del mouse tiene ha sido presionado en un componente. */ public void mousePressed(MouseEvent e); /** * Invocado cuando se ha soltado un botón del mouse en un componente. */ public void mouseReleased(MouseEvent e); /** * Invocado cuando el mouse ingresa a un componente. */ public void mouseEntered(MouseEvent e); /** * Invocado cuando el mouse sale de un componente. */ public void mouseExited(MouseEvent e); } El La interfaz está escrita de la misma manera que la clase. Esta interfaz se coloca en MouseListener.java (llamada unidad de edición).