¿Que es una interfaz?
Una interfaz es una clase completamente abstracta (una clase sin implementación). Por ejemplo:
Si no estuviésemos interesados en conocer la posición de una Figura, podríamos eliminar por completo su implementación y convertir Figura en una interfaz:
public interface Figura
{
public double area ();
}
Caracteristicas:
- En Java las interfaces se declaran con la palabra reservada "interface" de manera similar a como se declaran las clases abstractas.
- En la declaracion de una interfaz lo unico que puede aparecer son declaraciones de métodos( su nombre y asignatura, sin su implementacion) y definiciones de constantes simbólicas.
- Una interfaz no encapsula datos, solo define cuales son los métodos que han de implementar los objetos de aquellas clases que implementan la interfaz.
public class Circulo implements Figura
{
private double radio;
public Circulo (double radio)
{
this.radio = radio;
}
public double area ()
{
return Math.PI*radio*radio;
}
}
public class Cuadrado implements Figura
{
private double lado;
public Cuadrado (double lado)
{
this.lado = lado;
}
public double area ()
{
return lado*lado;
}
}
abstract class SinArea implements Figura
{
}Herencia múltiple de interfaces
Una clase puede implementar varios interfaces simultáneamente, pese a que, en Java, una clase sólo puede heredar de otra clase (herencia simple de implementación, múltiple de interfaces).
public abstract class Figura
{
public abstract double area ();
}
public interface Dibujable
{
public void dibujar ();
}
public interface Rotable
{
public void rotar (double grados);
}
public class Circulo extends Figura
implements Dibujable
...
public class Cuadrado extends Figura
implements Dibujable, Rotable
...
Referencias:
Saludos (:
No hay comentarios:
Publicar un comentario