NTERFACES

Páginas: 7 (1598 palabras) Publicado: 27 de octubre de 2015
NTERFACES
Introducción
Las interfaces Java son expresiones puras de diseño. Se trata de auténticas conceptualizaciones no implementadas que sirven de guía para definir un determinado concepto (clase) y lo que debe hacer, pero sin desarrollar un mecanismo de solución.
Se trata de declarar métodos abstractos y constantes que posteriormente puedan ser implementados de diferentes maneras segúnlas necesidades de un programa.
Por ejemplo una misma interfaz podría ser implementada en una versión de prueba de manera poco óptima, y ser acelerada convenientemente en la versión definitiva tras conocer más a fondo el problema.
Declaración
Para declarar una interfaz se utiliza la sentencia interface, de la misma manera que se usa la sentencia class:
interface MiInterfaz {
int CONSTANTE =100;
int metodoAbstracto( int parametro );
}
Se observa en la declaración que las variables adoptan la declaración en mayúsculas, pues en realidad actuarán como constantes final. En ningún caso estas variables actuarán como variables de instancia.
Por su parte, los métodos tras su declaración presentan un punto y coma, en lugar de su cuerpo entre llaves. Son métodos abstractos, por tanto,métodos sin implementación
Implementación de una interfaz
Como ya se ha visto, las interfaces carecen de funcionalidad por no estar implementados sus métodos, por lo que se necesita algún mecanismo para dar cuerpo a sus métodos.
La palabra reservada implements utilizada en la declaración de una clase indica que la clase implementa la interfaz, es decir, que asume las constantes de la interfaz, ycodifica sus métodos:
class ImplementaInterfaz implements MiInterfaz{
int multiplicando=CONSTANTE;
int metodoAbstracto( int parametro ){
return ( parametro * multiplicando );
}
}
En este ejemplo se observa que han de codificarse todos los métodos que determina la interfaz (metodoAbstracto()), y la validez de las constantes (CONSTANTE) que define la interfaz durante toda la declaración de laclase.
Una interfaz no puede implementar otra interfaz, aunque sí extenderla (extends) ampliándola.
Herencia múltiple
Java es un lenguaje que incorpora herencia simple de implementación pero que puede aportar herencia múltiple de interfaz. Esto posibilita la herencia múltiple en el diseño de los programas Java.
Una interfaz puede heredar de más de una interfaz antecesora.
interfaceInterfazMultiple extends Interfaz1,Interfaz2{ }
Una clase no puede tener más que una clase antecesora, pero puede implementar más de una interfaz:
class MiClase extends SuPadre implements Interfaz1,Interfaz2{ }
El ejemplo típico de herencia múltiple es el que se presenta con la herencia en diamante:
Imagen 6: Ejemplo de herencia múltiple
Para poder llevar a cabo un esquema como el anterior en Java esnecesario que las clases A, B y C de la figura sean interfaces, y que la clase D sea una clase (que recibe la herencia múltiple):
interface A{ }
interface B extends A{ }
interface C extends A{ }
class D implements B,C{ }
Colisiones en la herencia múltiple
En una herencia múltiple, los identificadores de algunos métodos o atributos pueden coincidir en la clase que hereda, si dos de las interfacespadres tienen algún método o atributo que coincida en nombre. A esto se le llama colisión.
Esto se dará cuando las clases padre (en el ejemplo anterior B y C) tienen un atributo o método que se llame igual. Java resuelve el problema estableciendo una serie de reglas.
Para la colisión de nombres de atributos, se obliga a especificar a qué interfaz base pertenecen al utilizarlos.
Para lacolisión de nombres en métodos:
· Si tienen el mismo nombre y diferentes parámetros: se produce sobrecarga de métodos permitiendo que existan varias maneras de llamar al mismo.
· Si sólo cambia el valor devuelto: se da un error de compilación, indicando que no se pueden implementar los dos.
· Si coinciden en su declaración: se elimina uno...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • clases abstractas nterfaces

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS