Professional Documents
Culture Documents
Interfaces en Java
Definicin
Interfaces y jerarqua de clases
Interfaces como contratos
Interfaces y polimorfismo
Interfaces y herencia
Interfaces y API de Java
Definicin
Sintaxis
[public] interface Interfaz1
{
int cte1 = 1;
boolean ct2 = true;
...
void metodo1( );
float metodo2(int v1, int v2);
String metodo3();
...
}
Definicin
La interfaz es el contrato.
Tenemos entonces equipos de software que
trabajan en la implementacin de ese contrato, y
tambin tenemos equipos que trabajan en la
aplicacin del mismo (usuarios del contrato).
}
}
ESCOM - IPN - Rafael Aguilar Garca
Interfaces y polimorfismo
Interfaces y polimorfismo
Interfaces y polimorfismo
interface Callback {
void callback(int param);
}
class Cliente implements Callback {
// Implementa el mtodo callback de la interfaz Callback
public void callback(int p) {
System.out.println(Mtodo callback llamado con + p);
}
void noInterfazMetodo( ) {// no es mtodo de la interfaz
System.out.println(Otros mtodos propios de la clase);
}
}
Interfaces y polimorfismo
class TestInterface {
public static void main(String args [ ]){
Callback c = new Cliente( ); // Referencia a interfaz
c.callback(4);
}
}
Interfaces y polimorfismo
class OtroCliente implements Callback {
// Implementa la interfaz Callback
public void callback(int p) {
System.out.println(Otra versin de callback);
System.out.println(El cuadrado de p es: + (p*p));
}
}
class TestInterfaz2 {
public static void main(String args[ ]) {
Callback c = new Cliente( );
OtroCliente ob = new OtroCliente( )
c.callback(4);
// Ahora c es una referencia a un objeto de la clase
// OtroCliente
c = ob;
c.callback(4);
}
ESCOM - IPN - Rafael Aguilar Garca
}
Interfaces y polimorfismo
Interfaces y herencia
Interfaces y herencia
Interfaces y herencia
Interfaces y herencia
Interfaces y herencia
Interfaces y herencia
interface InterfazUno{
int cte1 = 1;
void metodo1( );
}
interface InterfazDos{
int cte2 = 2;
void metodo2( );
}
interface InterfazUnoDos extends InterfazUno, InterfazDos
{
int cte1_2 = 12;
void metodo1_2( );
}
ESCOM - IPN - Rafael Aguilar Garca
Interfaces y herencia
Cloneable
Contiene el mtodo clone( ) que tambin forma
parte de la clase Object.
Nos permite hacer copias de objetos, incluso si estos
objetos estn conformados por otros ms. La copia
se realiza atributo-por-atributo.
El siguiente ejemplo ilustra el uso de esta interfaz
para duplicar (clonar) un objeto de la clase
Rectngulo que a su vez est constituido por un
objeto de la clase Punto.
ESCOM - IPN - Rafael Aguilar Garca