SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
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
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";
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*/
}
}
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.
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.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (14)

Estructuras Selectivas Simples, Dobles y Múltiples
Estructuras Selectivas Simples, Dobles y MúltiplesEstructuras Selectivas Simples, Dobles y Múltiples
Estructuras Selectivas Simples, Dobles y Múltiples
 
10.Polimorfismo Java
10.Polimorfismo Java10.Polimorfismo Java
10.Polimorfismo Java
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopez
 
Evolucion
EvolucionEvolucion
Evolucion
 
Polimorfismo en JAVA
Polimorfismo en JAVAPolimorfismo en JAVA
Polimorfismo en JAVA
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Java
JavaJava
Java
 
estructura de un programa en java
estructura de un programa en javaestructura de un programa en java
estructura de un programa en java
 
Herencia en java
Herencia en javaHerencia en java
Herencia en java
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Resumen Conceptos Javascriptya.com.ar
Resumen Conceptos Javascriptya.com.arResumen Conceptos Javascriptya.com.ar
Resumen Conceptos Javascriptya.com.ar
 
Prolog
PrologProlog
Prolog
 
Funciones
FuncionesFunciones
Funciones
 
Universidad de panamá
Universidad de panamáUniversidad de panamá
Universidad de panamá
 

Destacado

Informe de auditoria
Informe de auditoriaInforme de auditoria
Informe de auditoriaRuben Robles
 
Aplicación móvil con acceso a datos
Aplicación móvil con acceso a datosAplicación móvil con acceso a datos
Aplicación móvil con acceso a datosSusi Perez Gallegos
 
Centro de telecomunicaciones
Centro de telecomunicacionesCentro de telecomunicaciones
Centro de telecomunicacionesRuben Robles
 
Auditoria sistema ti
Auditoria sistema tiAuditoria sistema ti
Auditoria sistema tiRuben Robles
 
Plantilla proyecto aler tic_
Plantilla proyecto aler tic_Plantilla proyecto aler tic_
Plantilla proyecto aler tic_Ruben Robles
 
Sistemas de telecomunicaciones
Sistemas de telecomunicacionesSistemas de telecomunicaciones
Sistemas de telecomunicacionesRuben Robles
 
Hackear contraseña
Hackear contraseñaHackear contraseña
Hackear contraseñaRuben Robles
 

Destacado (9)

Informe de auditoria
Informe de auditoriaInforme de auditoria
Informe de auditoria
 
Aplicación móvil con acceso a datos
Aplicación móvil con acceso a datosAplicación móvil con acceso a datos
Aplicación móvil con acceso a datos
 
Aplicacion movil
Aplicacion movilAplicacion movil
Aplicacion movil
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Centro de telecomunicaciones
Centro de telecomunicacionesCentro de telecomunicaciones
Centro de telecomunicaciones
 
Auditoria sistema ti
Auditoria sistema tiAuditoria sistema ti
Auditoria sistema ti
 
Plantilla proyecto aler tic_
Plantilla proyecto aler tic_Plantilla proyecto aler tic_
Plantilla proyecto aler tic_
 
Sistemas de telecomunicaciones
Sistemas de telecomunicacionesSistemas de telecomunicaciones
Sistemas de telecomunicaciones
 
Hackear contraseña
Hackear contraseñaHackear contraseña
Hackear contraseña
 

Similar a Tarea 3 (20)

Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Interfaces 14k
Interfaces 14kInterfaces 14k
Interfaces 14k
 
Interfaces
InterfacesInterfaces
Interfaces
 
Resumen interfaces
Resumen interfacesResumen interfaces
Resumen interfaces
 
Resumen interfaces
Resumen interfacesResumen interfaces
Resumen interfaces
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Interfaces
InterfacesInterfaces
Interfaces
 
Investigacion v unidad
Investigacion v unidadInvestigacion v unidad
Investigacion v unidad
 
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial   6 Polimorfismo, AbstraccióN E InterfacesCurso Java Inicial   6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
 
Polimorfism oo
Polimorfism ooPolimorfism oo
Polimorfism oo
 
Interfaces
InterfacesInterfaces
Interfaces
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad ii
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad ii
 
Introduccionjava
IntroduccionjavaIntroduccionjava
Introduccionjava
 
Presentacion progra
Presentacion prograPresentacion progra
Presentacion progra
 
Herencia
HerenciaHerencia
Herencia
 
Abstraccion
AbstraccionAbstraccion
Abstraccion
 
Tema4 herencia
Tema4 herenciaTema4 herencia
Tema4 herencia
 
Interfaces
InterfacesInterfaces
Interfaces
 
Tema7 herencia
Tema7 herenciaTema7 herencia
Tema7 herencia
 

Más de Ruben Robles

Enlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoriaEnlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoriaRuben Robles
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpRuben Robles
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpRuben Robles
 
Trabajo final plan de las comunicaciones
Trabajo final plan de las comunicacionesTrabajo final plan de las comunicaciones
Trabajo final plan de las comunicacionesRuben Robles
 
Gestion de recursos humanos
Gestion de recursos humanosGestion de recursos humanos
Gestion de recursos humanosRuben Robles
 
Mapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyectoMapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyectoRuben Robles
 

Más de Ruben Robles (11)

Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Enlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoriaEnlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoria
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cp
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cp
 
Mr mer ddd
Mr mer dddMr mer ddd
Mr mer ddd
 
Trabajo final plan de las comunicaciones
Trabajo final plan de las comunicacionesTrabajo final plan de las comunicaciones
Trabajo final plan de las comunicaciones
 
Transaccionb
TransaccionbTransaccionb
Transaccionb
 
Gestion de recursos humanos
Gestion de recursos humanosGestion de recursos humanos
Gestion de recursos humanos
 
Mapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyectoMapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyecto
 
Estandares de ti
Estandares de tiEstandares de ti
Estandares de ti
 
A1 ap los usb
A1 ap los usbA1 ap los usb
A1 ap los usb
 

Tarea 3

  • 1. 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
  • 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...... 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";
  • 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*/ } }
  • 4. 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.
  • 5. 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.