Este documento describe las interfaces en Java. Explica que las interfaces permiten simular la herencia múltiple al permitir que una clase herede de múltiples interfaces. Detalla las características de las interfaces como que todos sus métodos son públicos y abstractos y todas sus variables son constantes. Finalmente, provee un ejemplo de cómo las interfaces pueden usarse para definir comportamientos comunes entre clases no relacionadas.
1. UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADEMICA DE PINOS
T E C N O L O G Í A S D E L A I N F O R M A C I Ó N Y C O M U N I C A C I Ó N
TEMA:
Interfaces
MATERIA:
Programación de Aplicaciones
PROFESOR:
ISC. Omar Emmanuel Lara Juárez
ALUMNO(A):
OCTAVIO ARTURO SALAS ESQUIVEL
CARRERA:
INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
GRADO Y GRUPO
9° CUATRIMESTRE “B”
PINOS, ZACATECAS. 10 DE JULIO DEL 2015
2. Interfaces en Java
Como sabemos en Java no existe la herencia múltiple, pudiendo heredar solamente
de una clase, las Interfaces son una gran herramienta para simular este
concepto......
En esta entrada describiremos un poco sobre lo que son las interfaces, sus
principales características y veremos un diagrama que nos puede colaborar para su
mejor entendimiento...
Para empezar debemos saber que una Interface es una Clase completamente
Abstracta, como regla, sabemos que las clases abstractas poseen como mínimo un
método abstracto, pero hablando de una interface, todos sus métodos tienen que
serlo...
Herencia Multiple?
Podemos decir que las interfaces simulan la herencia múltiple ya que una clase
puede implementar cualquier numero de interfaces, además las interfaces pueden
heredar uno o mas números de interfaces mediante la palabra extends, pero jamas
podrán heredar clases concretas...
Características de las Interfaces.
Todos los métodos de una interfaz son implícitamente public abstract, no
es necesario especificarlo en la declaración del mismo.
Todas las variables y atributos de una interfaz son implícitamente
constantes (public static final), no es necesario especificarlo en la declaración
del misma
Los métodos de una interfaz no pueden ser: static, final, strictfp ni native.
Una interfaz puede heredar (extends) de una o más interfaces.
Una interfaz no puede heredar de otro elemento que no sea una interfaz.
Una interfaz no puede implementar (implements) otra interfaz.
Una interfaz debe ser declarada con la palabra clave interface.
Los tipos de las interfaces pueden ser utilizados polimórficamente.
Una interfaz puede ser public o package (valor por defecto).
Los métodos toman como ámbito el que contiene la interfaz.
Algunas de las anteriores características se verían así.
3. ¿Cuando Utilizarlas?
Su uso esta muy ligado al concepto de herencia y cumple el mismo principio que
aplicamos al usar clases abstractas, lo que buscamos es establecer un mecanismo
donde podamos compartir características comunes entre clases diferentes, además
al igual que con clases abstractas nos aseguramos que los métodos y atributos solo
están disponibles para las clases que las implementen...
Un Ejemplo.
En el diagrama de clases vemos 6 clases concretas y 2 interfaces, las
clasesHumano y Animal son clases padre de "Hombre y Mujer" y "Perro y Gato"
respectivamente, ahora bien, Humano y Animal son clases diferentes con un árbol
de herencia marcado, pero ambas poseen características comunes que podemos
usar por medio de la interface AccionesGeneral.
Conclusión
La interface tiene estos metodos pero solo declarados, al momento de heredar a la
clase para su uso es necesrio y obligatorio Implementar estos metodos. La clase
Interce solo puede contener variables publicas y Su uso comun es con las clases
Abstractas que igual que las interfaces tiene metodos no implementados con la
diferencia que este si puede tener metodos implementados y este si puede tener
constructor tambien nos dice que Todos los métodos de una interfaz son
implícitamente public abstract, no es necesario especificarlo en la declaración del
mismo.
4. El polimorfismo es muy útil ya que permite escribir métodos genéricos que puedan
recibir parámetros que sean de un determinado tipo o de cualquiera de sus tipos
hijos, pues en programación orientada a objetos el polimorfismo se refiere a la
capacidad para que varias clases derivadas de una antecesora utilicen un mismo
método de forma diferente.
Extends se usa para heredar de otra clase, e implements es para implementar
clases abstractas, las clases abstractas tienen declaracion de funciones sin ser
implementades por esa razon cuando usas implements tienes que sobrescribir
todas las funciones de la clase abstracta.