SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
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ún las 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, y codifica 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 la clase.
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.
interface InterfazMultiple 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:

Ejemplo de herencia múltiple
Para poder llevar a cabo un esquema como el anterior en Java es necesario 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{ }

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

2 3 3 Interfaces
2 3 3 Interfaces2 3 3 Interfaces
2 3 3 Interfaces
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Presentación1
Presentación1Presentación1
Presentación1
 
Interfaz en Java y en C#
Interfaz en Java y en C#Interfaz en Java y en C#
Interfaz en Java y en C#
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacion
 
Resumen interfaces
Resumen interfacesResumen interfaces
Resumen interfaces
 
Sencha
SenchaSencha
Sencha
 
4ta evaluacion, presentacion
4ta evaluacion, presentacion4ta evaluacion, presentacion
4ta evaluacion, presentacion
 
Elementos de programación
Elementos de programaciónElementos de programación
Elementos de programación
 
Programacion I
Programacion I Programacion I
Programacion I
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Instrucciones basicas de_c_
Instrucciones basicas de_c_Instrucciones basicas de_c_
Instrucciones basicas de_c_
 
Fund progbd 3_u1_lenguajeprogramacionjava1
Fund progbd 3_u1_lenguajeprogramacionjava1Fund progbd 3_u1_lenguajeprogramacionjava1
Fund progbd 3_u1_lenguajeprogramacionjava1
 
Instrucciones basicas c_
Instrucciones basicas c_Instrucciones basicas c_
Instrucciones basicas c_
 
Semana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuarioSemana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuario
 
Lenguajes de Programación: Estructuras de Control
Lenguajes de Programación: Estructuras de ControlLenguajes de Programación: Estructuras de Control
Lenguajes de Programación: Estructuras de Control
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Interfaces
InterfacesInterfaces
Interfaces
 

Destacado (6)

Gui
GuiGui
Gui
 
JAVA SERVER FACES - LECCION 03 - COMPONENTES HTML
JAVA SERVER FACES - LECCION 03 - COMPONENTES HTMLJAVA SERVER FACES - LECCION 03 - COMPONENTES HTML
JAVA SERVER FACES - LECCION 03 - COMPONENTES HTML
 
Java OO - Tema 06 - Interfaces
Java OO - Tema 06 -  InterfacesJava OO - Tema 06 -  Interfaces
Java OO - Tema 06 - Interfaces
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en javaClases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
SEMINARIO: ACCESO A BASE DE DATOS CON JDBC
SEMINARIO: ACCESO A BASE DE DATOS CON JDBCSEMINARIO: ACCESO A BASE DE DATOS CON JDBC
SEMINARIO: ACCESO A BASE DE DATOS CON JDBC
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 

Similar a Introducción

Similar a Introducción (20)

Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
interfaces.pdf
interfaces.pdfinterfaces.pdf
interfaces.pdf
 
Interface-swt-swing.pptx
Interface-swt-swing.pptxInterface-swt-swing.pptx
Interface-swt-swing.pptx
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Interfaces
InterfacesInterfaces
Interfaces
 
01 fundamentos-java
01 fundamentos-java01 fundamentos-java
01 fundamentos-java
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
 
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
 
Intro Java
Intro JavaIntro Java
Intro Java
 
Resumen interfaces
Resumen interfacesResumen interfaces
Resumen interfaces
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Clases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Interfaces
InterfacesInterfaces
Interfaces
 
Benalcazar esteban
Benalcazar estebanBenalcazar esteban
Benalcazar esteban
 

Más de Manuel Alejandro Hernandez Sanchez

Más de Manuel Alejandro Hernandez Sanchez (20)

Serialización personalizada
Serialización personalizadaSerialización personalizada
Serialización personalizada
 
Ejemplo
EjemploEjemplo
Ejemplo
 
Entrada
EntradaEntrada
Entrada
 
Ejemplo
EjemploEjemplo
Ejemplo
 
Tipos de excepciones
Tipos de excepcionesTipos de excepciones
Tipos de excepciones
 
Introducción
IntroducciónIntroducción
Introducción
 
Herencia
HerenciaHerencia
Herencia
 
Tipo estático y tipo dinámico
Tipo estático y tipo dinámicoTipo estático y tipo dinámico
Tipo estático y tipo dinámico
 
Uso de polimorfismo
Uso de polimorfismoUso de polimorfismo
Uso de polimorfismo
 
Enlace dinámico
Enlace dinámicoEnlace dinámico
Enlace dinámico
 
Clase base
Clase baseClase base
Clase base
 
Por qué java no soporta la sobre carga de operadores
Por qué java no soporta la sobre carga de operadoresPor qué java no soporta la sobre carga de operadores
Por qué java no soporta la sobre carga de operadores
 
Sobrecarga de constructores
Sobrecarga de constructoresSobrecarga de constructores
Sobrecarga de constructores
 
Recolección de basura
Recolección de basuraRecolección de basura
Recolección de basura
 
Retorno de valores
Retorno de valoresRetorno de valores
Retorno de valores
 
Metodos de mensajes
Metodos de mensajesMetodos de mensajes
Metodos de mensajes
 
La destrucción del objeto
La destrucción del objetoLa destrucción del objeto
La destrucción del objeto
 
Acceso al objeto
Acceso al objetoAcceso al objeto
Acceso al objeto
 
Agregar un metodo que toma parametros
Agregar un metodo que toma parametrosAgregar un metodo que toma parametros
Agregar un metodo que toma parametros
 
Asignación de variables de referencia de objeto
Asignación de variables de referencia de objetoAsignación de variables de referencia de objeto
Asignación de variables de referencia de objeto
 

Introducción

  • 1. 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ún las 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, y codifica 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 la clase.
  • 2. 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. interface InterfazMultiple 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: Ejemplo de herencia múltiple Para poder llevar a cabo un esquema como el anterior en Java es necesario 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{ }