SlideShare una empresa de Scribd logo
C.F.P.E. JUAN XXIII – ALCORCÓN
                       Departamento de Desarrollo de Aplicaciones Informáticas


                               INTERFACES


1.   Concepto de interfaz
      •   Definición de interfaces

      •   Implementación de interfaces

      •   Herencia de interfaces

      •   Polimorfismo. Interfaces como tipos de datos.

1.   Criterios de diseño
      •   Clases abstractas Vs Interfaces

1.   Interfaces de uso común
      •   Comparable

      •   ActionListener

      •   Iterator



                                                                                 1
C.F.P.E. JUAN XXIII – ALCORCÓN
                                Departamento de Desarrollo de Aplicaciones Informáticas


                              INTERFACES. Concepto

• Interfaz: Conjunto de métodos relacionados que los objetos de una clase exponen a los
  clientes.

• Un interface permite:

         • Definir un comportamiento (conjunto de métodos) común de un conjunto de
              clases no relacionadas por herencia.

         • Utilizar “polimorfismo”, percibiendo de modo común un conjunto de objetos que
              tienen definidos métodos comunes (interface)

         • Simular “herencia múltiple” en lo que refiere a la especificación de los métodos
              que deben definir los objetos de las clases que implementan el interface.

         • Especificar las “capacidades” de los objetos de aquellas clases que implementan
              el interface.

• Los nombres de interfaces suelen representar:

         • Capacidades . Ejemplos “Comparable”, “Clonable”, …

         • Roles o perfiles de acción : Ejemplo interface “Iterator”, “MouseListener”



                                                                                              2
C.F.P.E. JUAN XXIII – ALCORCÓN
                         Departamento de Desarrollo de Aplicaciones Informáticas


                       INTERFACES. Ejemplo

• Ejemplo de definición de interface




• Ejemplo de implementación de Interface




                                                                                   3
C.F.P.E. JUAN XXIII – ALCORCÓN
                                   Departamento de Desarrollo de Aplicaciones Informáticas


                              INTERFACES. Definición

• La sintaxis del interfaz es:

  [public] interface nombreInterface [extends Interface1, Interface2…]

  {

          //constantes

          //métodos abstractos

  }

• La definición del interfaz incluye.
          •   Métodos: implícitamente public y abstract

          •   Constantes: implícitamente public, final y static.



• El interfaz tiene visibilidad
          •   public: accesible o utilizable desde cualquier clase.

          •   [default]: accesible o utilizable desde las clases del mismo paquete.




                                                                                             4
C.F.P.E. JUAN XXIII – ALCORCÓN
                             Departamento de Desarrollo de Aplicaciones Informáticas


                    INTERFACES. Implementación

• Implementación de interfaz: Si una clase implementa un interface se compromete a:

         • Definir todos los métodos abstractos

         • Heredar todas las constantes.

• La implementación de un interface también puede entenderse como un:

         • Contrato: Entendido como un compromiso de servicio que adquieren los objetos
           de una clase que implementan un interface, respecto a sus clientes.

         • Protocolo: Entendido como un conjunto de normas (mensajes-metodos) que
           definen la comunicación (envío de mensajes) entre los objetos del sistema.

• Sintaxis de implementación :

  [visiblidad] class nombreClase [extends claseBase] implements Interface1, Interfaz2

  {

        // definición obligatoria de métodos abstractos

  }

• Un clase puede implementar varios Interfaces.


                                                                                          5
C.F.P.E. JUAN XXIII – ALCORCÓN
                              Departamento de Desarrollo de Aplicaciones Informáticas


                  INTERFACES. Herencia de interfaces

• Un interfaz puede heredar de otro/s .

• Ejemplo

public interface MouseInputListener extends MouseListener, MouseMotionListener {
  …
}

• La herencia entre interfaces admite herencia múltiple .

• Si un interfaz o clase declara un método, ya declarado en un interfaz “base” del cual
  hereda o implementa, el comportamiento es similar al de herencia entre clases:

      •   a) si coincide la firma de los métodos  “oculta” o “sombrea” al método del interfaz
          base.

      •   b) si coincide el nombre de lo métodos pero no la firma  sobrecarga de métodos.

      •   c) si coincide la firma pero no el valor de retorno  error.




                                                                                                 6
C.F.P.E. JUAN XXIII – ALCORCÓN
                               Departamento de Desarrollo de Aplicaciones Informáticas


                        INTERFACES. Polimorfismo

• Una vez declarado el Interface se convierte en “Tipo de datos” y es posible declarar (pero
  no instanciar) referencias al Interface

• Si varias clases implementan el mismo interface es posible utilizar “referencias a
  interface” para utilizar polimorfismo.

• los objetos que implementen el mismo interfaz pueden ser “percibidos” de modo común.

• Ejemplo: Interface “Arrancable”




                                                                                               7
C.F.P.E. JUAN XXIII – ALCORCÓN
                                   Departamento de Desarrollo de Aplicaciones Informáticas


           INTERFACES. Clases Abstractas Vs Interfaces

• A nivel de diseño: la diferencia entre Clase Abstracta e Interface es:



       •   Clase Abstracta: Representa una relación “es-un”

       •   Interface: Representa una relación “tiene la capacidad de … “ , “es capaz de …” o “puede dar
           servicio de …”, “puede actuar como …”

       •   Ejemplos:

                •   Clase A implements Comparable : Los objetos de la clase Clase A “tienen la capacidad”
                    de compararse.

                •   Clase Listener implements ActionListener: Los objetos de la clase Listenener son
                    capaces de escuchar y reaccionar a “Eventos de Accion” sobre el interface gráfico.


• A nivel de programación: Un clase que implementa una interface:

       •   solo hereda las constantes.

       •   no hereda definiciones (código) de los métodos.

       •   tiene una jerarquía interfaces distinta a la jerarquía de herencia.




                                                                                                            8
C.F.P.E. JUAN XXIII – ALCORCÓN
                                Departamento de Desarrollo de Aplicaciones Informáticas


               INTERFACES. Interfaces de uso común

• Comparable: Se utiliza para ordenar objetos.
      •   compareTo (Object o): función que etermina de dos objetos cuál es “mayor”, “menor” o si son
          iguales.




• ActionListener: Se utiliza para responder a eventos de acción sobre el interface.
      •   ActionPerformed(ActionEvent e): contiene el código que se ejecuta al realizar un acción como
          click de raton.




• Iterator: Contiene los métodos invocados por el bucle for mejorado ( notación : )




                                                                                                         9
C.F.P.E. JUAN XXIII – ALCORCÓN
                                Departamento de Desarrollo de Aplicaciones Informáticas


               INTERFACES. Interfaces de uso común

• Comparable: Se utiliza para ordenar objetos.
      •   compareTo (Object o): función que etermina de dos objetos cuál es “mayor”, “menor” o si son
          iguales.




• ActionListener: Se utiliza para responder a eventos de acción sobre el interface.
      •   ActionPerformed(ActionEvent e): contiene el código que se ejecuta al realizar un acción como
          click de raton.




• Iterator: Contiene los métodos invocados por el bucle for mejorado ( notación : )




                                                                                                         9

Más contenido relacionado

PDF
Taller 2 conceptualizacion
DOCX
Tabla comparativa de paradigma de la poo y programacion estructurada
DOCX
Mapa conceptual
PPT
Tema 1 2_poo
DOCX
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
PPTX
INTRODUCCION A LOS LENGUAJES DE PROGRAMACION
PDF
Curso java inicial 1 poo
DOCX
Programacion orientada a_objetos
Taller 2 conceptualizacion
Tabla comparativa de paradigma de la poo y programacion estructurada
Mapa conceptual
Tema 1 2_poo
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
INTRODUCCION A LOS LENGUAJES DE PROGRAMACION
Curso java inicial 1 poo
Programacion orientada a_objetos

Similar a Unidad 4. interfaces (20)

PDF
Laboratorio interfaces
DOCX
PDF
Resumen interfaces
PDF
Interfaces 14k
PDF
APO2 - Presentacion nivel 10
DOCX
Resumen interfaces
PDF
18.10-Declaracion-e-implementacion-de-interfaces
PPTX
Interfaces en Java
PPT
2 3 3 Interfaces
 
DOCX
PPTX
Clases abstractas e interfaz
PPTX
Diseño y realizacion jessica proaño
PPTX
Benalcazar esteban
DOCX
Guía interfaces
PPTX
Interfaces
PPTX
Clases abstractas
PPTX
10-Unidad 3: Encapsulamiento y modularidad
PDF
Interfaces en java
Laboratorio interfaces
Resumen interfaces
Interfaces 14k
APO2 - Presentacion nivel 10
Resumen interfaces
18.10-Declaracion-e-implementacion-de-interfaces
Interfaces en Java
2 3 3 Interfaces
 
Clases abstractas e interfaz
Diseño y realizacion jessica proaño
Benalcazar esteban
Guía interfaces
Interfaces
Clases abstractas
10-Unidad 3: Encapsulamiento y modularidad
Interfaces en java
Publicidad

Más de Roberto Moreno Doñoro (20)

PPT
21 bibsw tablasyotros
PPT
20 curvaselipticas
PPT
19 protocoloscripto
PPT
18 correoseguro
PPT
17 certdigitalespkcs
PPT
16 autenticafirma
PPT
15 funcioneshash
PPT
14 cifraasimetrica
PPT
13 ciframochilas
PPT
12 cifrasimetrica
PPT
11 cifraflujo
PPT
10 ciframoderna
PPT
09 cifraclasica
PPT
08 compalgoritmos
PPT
07 teorianumeros
PPT
06 teoriainfo
PPT
05 gestionseg
PPT
04 calidadinfo
PPT
02 breveintrocripto
PPT
01 presentalibro
21 bibsw tablasyotros
20 curvaselipticas
19 protocoloscripto
18 correoseguro
17 certdigitalespkcs
16 autenticafirma
15 funcioneshash
14 cifraasimetrica
13 ciframochilas
12 cifrasimetrica
11 cifraflujo
10 ciframoderna
09 cifraclasica
08 compalgoritmos
07 teorianumeros
06 teoriainfo
05 gestionseg
04 calidadinfo
02 breveintrocripto
01 presentalibro
Publicidad

Último (20)

PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Punto Critico - Brian Tracy Ccesa007.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
caso clínico iam clinica y semiología l3.pptx
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
ciencias-1.pdf libro cuarto basico niños
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL

Unidad 4. interfaces

  • 1. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES 1. Concepto de interfaz • Definición de interfaces • Implementación de interfaces • Herencia de interfaces • Polimorfismo. Interfaces como tipos de datos. 1. Criterios de diseño • Clases abstractas Vs Interfaces 1. Interfaces de uso común • Comparable • ActionListener • Iterator 1
  • 2. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Concepto • Interfaz: Conjunto de métodos relacionados que los objetos de una clase exponen a los clientes. • Un interface permite: • Definir un comportamiento (conjunto de métodos) común de un conjunto de clases no relacionadas por herencia. • Utilizar “polimorfismo”, percibiendo de modo común un conjunto de objetos que tienen definidos métodos comunes (interface) • Simular “herencia múltiple” en lo que refiere a la especificación de los métodos que deben definir los objetos de las clases que implementan el interface. • Especificar las “capacidades” de los objetos de aquellas clases que implementan el interface. • Los nombres de interfaces suelen representar: • Capacidades . Ejemplos “Comparable”, “Clonable”, … • Roles o perfiles de acción : Ejemplo interface “Iterator”, “MouseListener” 2
  • 3. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Ejemplo • Ejemplo de definición de interface • Ejemplo de implementación de Interface 3
  • 4. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Definición • La sintaxis del interfaz es: [public] interface nombreInterface [extends Interface1, Interface2…] { //constantes //métodos abstractos } • La definición del interfaz incluye. • Métodos: implícitamente public y abstract • Constantes: implícitamente public, final y static. • El interfaz tiene visibilidad • public: accesible o utilizable desde cualquier clase. • [default]: accesible o utilizable desde las clases del mismo paquete. 4
  • 5. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Implementación • Implementación de interfaz: Si una clase implementa un interface se compromete a: • Definir todos los métodos abstractos • Heredar todas las constantes. • La implementación de un interface también puede entenderse como un: • Contrato: Entendido como un compromiso de servicio que adquieren los objetos de una clase que implementan un interface, respecto a sus clientes. • Protocolo: Entendido como un conjunto de normas (mensajes-metodos) que definen la comunicación (envío de mensajes) entre los objetos del sistema. • Sintaxis de implementación : [visiblidad] class nombreClase [extends claseBase] implements Interface1, Interfaz2 { // definición obligatoria de métodos abstractos } • Un clase puede implementar varios Interfaces. 5
  • 6. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Herencia de interfaces • Un interfaz puede heredar de otro/s . • Ejemplo public interface MouseInputListener extends MouseListener, MouseMotionListener { … } • La herencia entre interfaces admite herencia múltiple . • Si un interfaz o clase declara un método, ya declarado en un interfaz “base” del cual hereda o implementa, el comportamiento es similar al de herencia entre clases: • a) si coincide la firma de los métodos  “oculta” o “sombrea” al método del interfaz base. • b) si coincide el nombre de lo métodos pero no la firma  sobrecarga de métodos. • c) si coincide la firma pero no el valor de retorno  error. 6
  • 7. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Polimorfismo • Una vez declarado el Interface se convierte en “Tipo de datos” y es posible declarar (pero no instanciar) referencias al Interface • Si varias clases implementan el mismo interface es posible utilizar “referencias a interface” para utilizar polimorfismo. • los objetos que implementen el mismo interfaz pueden ser “percibidos” de modo común. • Ejemplo: Interface “Arrancable” 7
  • 8. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Clases Abstractas Vs Interfaces • A nivel de diseño: la diferencia entre Clase Abstracta e Interface es: • Clase Abstracta: Representa una relación “es-un” • Interface: Representa una relación “tiene la capacidad de … “ , “es capaz de …” o “puede dar servicio de …”, “puede actuar como …” • Ejemplos: • Clase A implements Comparable : Los objetos de la clase Clase A “tienen la capacidad” de compararse. • Clase Listener implements ActionListener: Los objetos de la clase Listenener son capaces de escuchar y reaccionar a “Eventos de Accion” sobre el interface gráfico. • A nivel de programación: Un clase que implementa una interface: • solo hereda las constantes. • no hereda definiciones (código) de los métodos. • tiene una jerarquía interfaces distinta a la jerarquía de herencia. 8
  • 9. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Interfaces de uso común • Comparable: Se utiliza para ordenar objetos. • compareTo (Object o): función que etermina de dos objetos cuál es “mayor”, “menor” o si son iguales. • ActionListener: Se utiliza para responder a eventos de acción sobre el interface. • ActionPerformed(ActionEvent e): contiene el código que se ejecuta al realizar un acción como click de raton. • Iterator: Contiene los métodos invocados por el bucle for mejorado ( notación : ) 9
  • 10. C.F.P.E. JUAN XXIII – ALCORCÓN Departamento de Desarrollo de Aplicaciones Informáticas INTERFACES. Interfaces de uso común • Comparable: Se utiliza para ordenar objetos. • compareTo (Object o): función que etermina de dos objetos cuál es “mayor”, “menor” o si son iguales. • ActionListener: Se utiliza para responder a eventos de acción sobre el interface. • ActionPerformed(ActionEvent e): contiene el código que se ejecuta al realizar un acción como click de raton. • Iterator: Contiene los métodos invocados por el bucle for mejorado ( notación : ) 9