interfaces

5
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Materia Programación de Aplicaciones Tema INTERFACES Nombre completo del Alumno : Azucena Pérez Gallegos Grado: 9 Grupo: “A” Nombre del Docente: ISC. Omar Emmanuel Lara Juárez Fecha de entrega : 10/07/2015

Upload: susi-perez-gallegos

Post on 06-Aug-2015

164 views

Category:

Documents


5 download

TRANSCRIPT

UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Materia

Programación de Aplicaciones

Tema

INTERFACES

Nombre completo del Alumno : Azucena Pérez Gallegos

Grado: 9 Grupo: “A” Nombre del Docente: ISC. Omar Emmanuel Lara Juárez Fecha de entrega : 10/07/2015

UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Interfaces Interfaces en Java

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...

Como vimos en la entrada sobre conceptos básicos, las interfaces muchas

veces son definidas como un tipo de contrato entre las clases concretas que la

implementen, ya que la clase que lo haga se encuentra obligada a definir los

métodos abstractos que la componen.

Herencia Múltiple

Las interfaces simulan la herencia múltiple ya que una clase puede implementar

cualquier número de interfaces, además las interfaces pueden heredar uno o más

números de interfaces mediante la palabra extends, pero jamás podrán heredar

clases concretas...

En java se usa la palabra reservada implements para indicar que implementamos

una interface.

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.

UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

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.

Tanto para clases Abstractas como para Interfaces la herencia es permitida, pero

por ejemplo para este tipo componentes, si una interface hereda de otra, esta no

está obligada a implementar los métodos que posee la Interface padre, ya que la

implementación tanto de los métodos de la clase padre como de la interface que

los hereda depende de la clase concreta que implemente dicha interface........

este principio también aplica a las clases Abstractas, si una clase abstracta

implementa una interface, los métodos de esta no necesariamente se deben

implementar en la clase Abstracta, pero si se tienen que implementar en la clase

concreta que herede de la clase abstracta....

¿Cuándo utilizarlas?

Su uso está 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...

Ejemplo

UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

En el diagrama de clases vemos 6 clases concretas y 2 interfaces, las clases

Humano 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 Acciones General.

Podemos decir que tanto un Hombre como un Gato pueden caminar, usando para

esto el método desplazarse(), donde cada clase dará el mecanismo de

desplazamiento, por ejemplo el hombre lo hace en 2 piernas mientras que el gato

en 4 patas (o dependiendo de la forma como lo realicen), y este mismo concepto

puede aplicarse a los otros métodos enmarcados en la Interface Acción General

que tanto Humanos como Animales comparten.

También tenemos la interface Acciones Humano para esos métodos o

características que solo son aplicables a los humanos y que tanto Hombre como

Mujer pueden adoptar, así la clase Humano podrá simular la herencia múltiple al

implementar las 2 interfaces mencionadas.

UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Conclusión

Polimorfismo es la capacidad de un objeto de adquirir varias formas. El uso más

común de polimorfismo en programación orientada a objetos se da cuando se

utiliza la referencia de una clase padre, para referirse al objeto de la clase hijo.

Cualquier objeto java que pueda pasar más de un test "ES-UN" es considerado

polimórfico. En Java, todos los objetos son polimórficos ya que cualquier objeto

pasaría un test "ES-UN" dado que son de su propio tipo, además del de la clase

Object.

Es importante saber que la única manera de acceder a un objeto es a través de

una variable de referencia. La variable de referencia sólo puede ser de un tipo.

Una vez declarado el tipo de la variable de referencia, no se puede cambiar.

La variable de referencia puede ser reasignada a otros objetos, siempre y cuando

no haya sido declarada "final". El tipo de la variable de referencia, determina los

métodos que podrán ser llamados sobre el objeto.

Una variable de referencia puede hacer referencia a cualquier objeto o cualquier

subtipo de su propio tipo.

Diferencia entre Implementar y Heredar

El extends se usa para heredar el contenido de otra clase y el implements se usa

para implementar clases abstractas, las cuales poseen declaraciones de funcione

o métodos sin implementar o sin cuerpo por esa razón cuando se utilice un

implements debemos de sobrescribir todas las funciones de la clase.

EXTENDS

Permite heredar todo el contenido ósea los atributos y métodos de clase padre a la

clase hija o derivada.

IMPLEMENTS

Permite implementar los métodos sin cuerpo de una clase abstracta.