¿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