5
NOMBRE: ADRIANA BERENICE RENOVATO CEJA CARRERA: INGENIERÍA EN. TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN MATRICULA: 481200555 GRADO Y GRUPO: 9° CUATRIMESTRE “A” MATERIA: PROGRAMACIÓN DE APLICACIONES UNIDAD: “CONCEPTOS AVANZADOS DE LA POO” PROFESOR: I.S.C OMAR EMMANUEL LARA JUÁREZ LUGAR Y FECHA: PINOS ZAC, 10 DE JULIO DEL 2015 UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Tarea 3

Embed Size (px)

Citation preview

Page 1: Tarea 3

NOMBRE:

ADRIANA BERENICE RENOVATO CEJA

CARRERA:

INGENIERÍA EN. TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

MATRICULA:

481200555

GRADO Y GRUPO:

9° CUATRIMESTRE “A”

MATERIA:

PROGRAMACIÓN DE APLICACIONES

UNIDAD:

“CONCEPTOS AVANZADOS DE LA POO”

PROFESOR:

I.S.C OMAR EMMANUEL LARA JUÁREZ

LUGAR Y FECHA:

PINOS ZAC, 10 DE JULIO DEL 2015

U N I V E R S I D A D T E C N O L Ó G I C A D E L E S T A D O D E Z A C A T E C A S

U N I D A D A C A D É M I C A D E P I N O S

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

Page 2: Tarea 3

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

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

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? Podemos decir que 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, la estructura general de una clase que implementa una interface es

la siguiente.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

interface InterfacePrincipal {

public void metodoAbstracto();

public String otroMetodoAbstracto();

} public class Principal implements InterfacePrincipal,otraInterface,otraMas{ public void metodoAbstracto() { /**Implementación definida por la clase concreta*/ }

public String otroMetodoAbstracto() { /**Implementación definida por la clase concreta*/ return "retorno";

Page 3: Tarea 3

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.

¿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

16

17

18

19

20

21

22

23

24

25

26

27

}

public void metodoAbstractoDeOtraInterface() { /**Implementación definida por la clase concreta*/ } public void metodoAbstractoDeOtraMas() { /**Implementación definida por la clase concreta*/ } }

Page 4: Tarea 3

métodos y atributos solo están disponibles para las clases que las

implementen...

Veamos un Ejemplo.

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

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.

Page 5: Tarea 3

CONCLUSIÓN

La importancia del polimorfismo en la programación, generalmente el polimorfismo

es la habilidad de tomar diferentes formas o funciones de los parámetros

utilizados durante su invocación, esto permite tratar de la misma manera, como

objetos de la superclase, a múltiples objetos de la subclase seleccionando en cada

caso los métodos apropiados. El polimorfismo tiene el beneficio de simplicidad

hace que nuestro código sea más fácil de escribir y mucho más fácil de entender,

extensibilidad esto quiere decir que otras subclases pueden ser añadidas después

a los tipos que se hayan creado y los objetos ya creados también se pueden

seguir trabajando con el código existente.

DIFERENCIA:

Extends se usa para heredar de otra clase, e implements es para implementar

clases abstractas, las clases abstractas tienen declaración de funciones sin ser

implementadas por esa razón cuando usas implements tienes que sobrescribir

todas las funciones de la clase abstracta.