SlideShare una empresa de Scribd logo
1 de 10
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

Similar a Unidad 4. interfaces

Tabla comparativa de paradigma de la poo y programacion estructurada
Tabla comparativa de paradigma de la poo y programacion estructuradaTabla comparativa de paradigma de la poo y programacion estructurada
Tabla comparativa de paradigma de la poo y programacion estructuradawouyrmz
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetoschutas666
 
Programación orientada-objetos
Programación orientada-objetosProgramación orientada-objetos
Programación orientada-objetoseduardolopezr
 
Cap%c3%8 dtulo+1+programacion+orientada+a+objetos
Cap%c3%8 dtulo+1+programacion+orientada+a+objetosCap%c3%8 dtulo+1+programacion+orientada+a+objetos
Cap%c3%8 dtulo+1+programacion+orientada+a+objetosCINTHI11
 
Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividadpbcanessa
 
Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]Matías Olmos
 
Introobjetos
IntroobjetosIntroobjetos
Introobjetosayreonmx
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionkatiuska27
 
Términos de Programación Distribuida 8
Términos de Programación Distribuida 8Términos de Programación Distribuida 8
Términos de Programación Distribuida 8RJ Manayay Chavez
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a javawaldinelly
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosAlberto Blumberg
 
Mobility and security
Mobility and  securityMobility and  security
Mobility and securityJorge Soro
 

Similar a Unidad 4. interfaces (20)

Tabla comparativa de paradigma de la poo y programacion estructurada
Tabla comparativa de paradigma de la poo y programacion estructuradaTabla comparativa de paradigma de la poo y programacion estructurada
Tabla comparativa de paradigma de la poo y programacion estructurada
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Presentación P.O.O
Presentación P.O.OPresentación P.O.O
Presentación P.O.O
 
Programación orientada-objetos
Programación orientada-objetosProgramación orientada-objetos
Programación orientada-objetos
 
Interfaces
InterfacesInterfaces
Interfaces
 
Cap%c3%8 dtulo+1+programacion+orientada+a+objetos
Cap%c3%8 dtulo+1+programacion+orientada+a+objetosCap%c3%8 dtulo+1+programacion+orientada+a+objetos
Cap%c3%8 dtulo+1+programacion+orientada+a+objetos
 
Guía interfaces
Guía interfacesGuía interfaces
Guía interfaces
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividad
 
Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]
 
Introobjetos
IntroobjetosIntroobjetos
Introobjetos
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Términos de Programación Distribuida 8
Términos de Programación Distribuida 8Términos de Programación Distribuida 8
Términos de Programación Distribuida 8
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a Objetos
 
Mobility and security
Mobility and  securityMobility and  security
Mobility and security
 
Clase 2 POO
Clase 2 POOClase 2 POO
Clase 2 POO
 
1773927.ppt
1773927.ppt1773927.ppt
1773927.ppt
 

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

21 bibsw tablasyotros
21 bibsw tablasyotros21 bibsw tablasyotros
21 bibsw tablasyotros
 
20 curvaselipticas
20 curvaselipticas20 curvaselipticas
20 curvaselipticas
 
19 protocoloscripto
19 protocoloscripto19 protocoloscripto
19 protocoloscripto
 
18 correoseguro
18 correoseguro18 correoseguro
18 correoseguro
 
17 certdigitalespkcs
17 certdigitalespkcs17 certdigitalespkcs
17 certdigitalespkcs
 
16 autenticafirma
16 autenticafirma16 autenticafirma
16 autenticafirma
 
15 funcioneshash
15 funcioneshash15 funcioneshash
15 funcioneshash
 
14 cifraasimetrica
14 cifraasimetrica14 cifraasimetrica
14 cifraasimetrica
 
13 ciframochilas
13 ciframochilas13 ciframochilas
13 ciframochilas
 
12 cifrasimetrica
12 cifrasimetrica12 cifrasimetrica
12 cifrasimetrica
 
11 cifraflujo
11 cifraflujo11 cifraflujo
11 cifraflujo
 
10 ciframoderna
10 ciframoderna10 ciframoderna
10 ciframoderna
 
09 cifraclasica
09 cifraclasica09 cifraclasica
09 cifraclasica
 
08 compalgoritmos
08 compalgoritmos08 compalgoritmos
08 compalgoritmos
 
07 teorianumeros
07 teorianumeros07 teorianumeros
07 teorianumeros
 
06 teoriainfo
06 teoriainfo06 teoriainfo
06 teoriainfo
 
05 gestionseg
05 gestionseg05 gestionseg
05 gestionseg
 
04 calidadinfo
04 calidadinfo04 calidadinfo
04 calidadinfo
 
02 breveintrocripto
02 breveintrocripto02 breveintrocripto
02 breveintrocripto
 
01 presentalibro
01 presentalibro01 presentalibro
01 presentalibro
 

Último

Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 

Último (20)

TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 

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