SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
POLIMORFISMO
"una interfaz, múltiples métodos".
POLIMORFISMO
                               Indice



  •   Definición y caracteristicas
  •   Objetivos.
  •   SOBRRESCRITURA-SOBRECARGA
  •   Clases y métodos abstractos
  •   INTERFACES (herencia múltiple)
  •   Subclase,Clase abstracta e Interface
  •   Interface vs. Clase Abstracta
  •   Ejemplo: (4)Project Musica (Instrumentos).




22/11/2005     E.T.S de Ingenieros de Telecomunicación - UPNA   .2
POLIMORFISMO
                                       Definicion y características



   Son dos mecanismos (up,downcasting)
   relacionados que otorgan a la OOP una gran
   potencia frente a otros paradigmas de
   programación

   Únicamente tienen sentido por la existencia
   de la herencia

   El sentido del polimorfismo (up-casting) es realizar una
   generalización, olvidar los detalles concretos de uno o
   varios objetos de distintas clases y buscar un punto
   común a todos ellos en un ancestro.



22/11/2005      E.T.S de Ingenieros de Telecomunicación - UPNA        .3
POLIMORFISMO
                                     Definicion y características




      Una variable referencia es polimórfica cuando
      su tipo de declaración no coincide con el tipo del
      objeto al que referencia:

     Figura f1 = new Figura(“Estandar”, “Rojo”);



       Figura f2 = new Circulo(“Verde”, 5.0);



22/11/2005     E.T.S de Ingenieros de Telecomunicación - UPNA       .4
POLIMORFISMO
                                    Definicion y características




     El polimorfismo esta presente cuando se envia un
     mensaje a un objeto del que no se sabe su tipo,
     ejecutánodse el metodo adecuado de acuerdo con su
     tipo.

     Enlace dinamico: Se elige el metodo a ejecutar en
     tiempo de ejecucion, en funcion de la clase del objeto;
     Es la implementacion del polimorfismo.




22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA       .5
POLIMORFISMO
                                      Definicion y características




  • Moldes de objetos(castings):
  • Realizan conversiones de tipo, no modifican al objeto,
    solo su tipo.
  • Upcasting : Interpretar un objeto de una clase derivada
    como del mismo tipo que la clase base.
      – No hace falta especificarlo
  • Downcasting: Interpretar un objeto de una clase base
    como del mismo tipo que una clase derivada suya.
      – Se especifica precediendo al objeto a convertir con el nuevo tipo
        entre paréntesis.




22/11/2005      E.T.S de Ingenieros de Telecomunicación - UPNA              .6
POLIMORFISMO
                                   Definicion y características




  • Ejemplo upcasting polimorfismo

  • (1)Project Polimorfismo,Polimorfismo2
       (Mamifero).




22/11/2005   E.T.S de Ingenieros de Telecomunicación - UPNA       .7
POLIMORFISMO
                                       Definicion y características




     Tras realizar una conexión polimorfa es frecuente la necesidad de
     volver a recuperar el objeto original, para acceder a sus
     operaciones propias.

     Se trata de la operación inversa al polimorfismo(upcasting),
     denominada downcasting.

     Si el polimorfismo implica una generalización, el downcasting
     implica una especialización.

     Al contrario que el upcasting, el downcasting no puede realizarse
     directamente mediante una conexión con una referencia de la clase
     del objeto.




22/11/2005      E.T.S de Ingenieros de Telecomunicación - UPNA           .8
POLIMORFISMO
                                    Definicion y características




     Utilizar instanceof para determinar si el objeto es de la
     clase esperada antes de realizar el casting.



  • La operación getClass () de Object devuelve un objeto
    de la clase Class que permite obtener en tiempo de
    ejecución gran cantidad de información de la clase a la
    que pertenece el objeto. El atributo estático class de la
    clase también devuelve una referencia a este objeto



22/11/2005     E.T.S de Ingenieros de Telecomunicación - UPNA      .9
POLIMORFISMO
                                              Objetivos




  • Objetivo: reutilizacion y flexibilidad.
  • Facilidad para adaptarse a cambios
  • ¿Cómo se consigue?
             Interfaces
             Clases abstractas
             Métodos polimórficos
  • Implementación de colecciones y métodos
    genéricos.

22/11/2005       E.T.S de Ingenieros de Telecomunicación - UPNA   .
POLIMORFISMO
                                              Objetivos




  • Permite código independiente del tipo.
             Fácil de escribir y entender.
  • Al añadir nuevos tipos:
             • No hay que reescribir código
             • Programas extensibles




22/11/2005        E.T.S de Ingenieros de Telecomunicación - UPNA   .
POLIMORFISMO
                                          Objetivos




                              ANIMAL


              FELINO                                 CANINO


     LEON      TIGRE           GATO           LOBO            PERRO




22/11/2005   E.T.S de Ingenieros de Telecomunicación - UPNA           .
POLIMORFISMO
                                                   Objetivos




      EJEMPLO DE COLECCIÓN GENÉRICA

      public class TestPolimorfismo{
      public static void main(String[] args) {
      Animal[] animales = new Animal[4];
      animales[0] = new Lobo();
      animales[1] = new Perro();
      animales[2] = new Leon();
      animales[3] = new Tigre();
      for(int i=0; i<animales.length; i++) {
      animales[i].dormir();
      animales[i].comer();
      }
      }
      }



22/11/2005         E.T.S de Ingenieros de Telecomunicación - UPNA   .
POLIMORFISMO
                                          Objetivos




                                                        MATEMÁTICO
                              FIGURA


   CUADRADO        TRIANGULO            CIRCULO




22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA         .
POLIMORFISMO
                                                   Objetivos



      EJEMPLO DE MÉTODO GENÉRICO

       public class Matematico{
       public double calcularArea(Figura param) {
       return param.calcularArea();
       }
       }
       public class TestPolimorfismo {
       public static void main(String[] args)
      {
       Matematico m = new Matematico();
                             m.calcularArea(new Circulo());
                             m.calcularArea(new Triangulo());
      }
       }




22/11/2005        E.T.S de Ingenieros de Telecomunicación - UPNA   .
POLIMORFISMO
                                      SOBREESCRITURA-SOBRECARGA




  • SOBREESCRITURA: La subclase reimplementa el
    método heredado (cambian el comportamiento).
  • SOBRECARGA: Varias implementaciones del mismo
    método con distintos parámetros (cambio de interfaz).
    Muy habitual en constructores.
      – Es aquí donde realmente se aprecia los beneficios del polimorfismo.
      – Sobrecargando el constructor conseguimos dotar a la clase de
        flexibilidad.
      – Pero siempre debe quedar claro que tras la conexión polimorfa
        únicamente podemos acceder a las operaciones pertenecientes a la
        clase asociada a la referencia. El resto de operaciones del objeto no
        son accesibles a través de esta referencia



22/11/2005       E.T.S de Ingenieros de Telecomunicación - UPNA                 .
POLIMORFISMO
                                         SOBRRESCRITURA-SOBRECARGA


             //Sobrecarga de constructores
             class Box {
               double width;
               double height;
               double depth;
                //El siguiente es el constructor específico
               Box(double w, double h, double d) {
                 width = w; height = h; depth = d;
               }
               Box () {
                width = height = depth = -1
             //-1 indica volumen no existente
             }
               //Cubo,entonces, por qué introducir 3 valores?
               Box (double valor) {
                 width = height = depth = valor;
               }

              double volume() {
                return width * height * depth;
              }




22/11/2005   E.T.S de Ingenieros de Telecomunicación - UPNA          .
POLIMORFISMO
                                    Clases y métodos abstractos




  • Clases abastractas: A menudo existen clases que sirven
    para definir un tipo genérico pero que no tiene sentido
    instanciar (crear objetos de ella).
  • Métodos abstractos: Un método abstracto significa que
    tiene que ser sobrescrito. No está implementado.
  • Una clase con uno o varios métodos abstractos tiene
     que ser declarada abstracta.
  • No obstante una clase abstracta no tiene porque tener
     métodos abstractos.



22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA      .
POLIMORFISMO
                                  INTERFACES (herencia múltiple)




  • Los interfaces en Java nos solucionan en parte la no
    existencia de la herencia múltiple.
  • Los interfaces son un tipo de clase especial que no
    implementa ninguno de sus métodos. Todos son
    abstractos. Por tanto no se pueden instanciar.
  • De los interfaces también se hereda, aunque se Suele
    decir implementa. Y se realiza mediante la keyword:
    implements.
  • Si una clase que hereda de un interface, no implementa
    todos los métodos de este, deberá ser definida como
     abstracta.

22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA       .
POLIMORFISMO
                                 INTERFACES (herencia múltiple)




  • ¿Para qué se utiliza?

  • Para permitir la herencia múltiple (ya que la herencia en
    Java sólo permite heredar de una sola clase).

  • Definen un comportamiento (o funcionalidad) genérico,
    ignorando los aspectos relacionados con su
    implementación.
  • Las interfaces que implementa una clase se comportan
    igual que las superclases en lo que respecta al uso del
    polimorfismo.

22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA      .
POLIMORFISMO
                                 INTERFACES (herencia múltiple)




  • (3)Project HerenciaMultiple2 (Anfibio).




22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA      .
POLIMORFISMO
                                 Subclase,Clase abstracta e Interface




  • Subclase: Necesitemos hacer una especialización de la
     superclase mediante sobreescritura o añadiendo nuevos métodos.


  • Clase abstracta: Queremos definir un grupo genérico de clases y
     además tengamos algunos métodos implementados que reutilizar.


  • Interface: Queremos definir un grupo genérico de clases y no
     tengamos métodos implementados que reutilizar. O cuando nos
     veamos forzados por la falta de herencia múltiple en Java.




22/11/2005     E.T.S de Ingenieros de Telecomunicación - UPNA           .
POLIMORFISMO
                                   Interface vs. Clase Abstracta




  • Un interface no puede implementar ningún método.
  • Un interface no forma parte de la jerarquía de clases.
    Clases dispares pueden implementar el mismo interface.



  • Una clase puede implementar n interfaces pero solo una
    clase.
  • El objetivo de un método abstracto es forzar una interfaz
    (API) pero no una implementación.



22/11/2005    E.T.S de Ingenieros de Telecomunicación - UPNA       .
POLIMORFISMO
                                 Interface vs. Clase Abstracta




  • Haremos un interface cuando queramos definir un
    grupo genérico de clases y no tengamos métodos
    implementados que reutilizar. O cuando nos
    veamos forzados por la falta de herencia múltiple
    en Java.




22/11/2005   E.T.S de Ingenieros de Telecomunicación - UPNA      .
POLIMORFISMO
                             Ejemplos de polimorfismo




   • (4)Project Musica (Instrumentos).




22/11/2005   E.T.S de Ingenieros de Telecomunicación - UPNA   .
DIAGRAMA DE CLASES: MUSICA




22/11/2005   E.T.S de Ingenieros de Telecomunicación - UPNA   .

Contenu connexe

Similaire à Polimorfismo

Modelos de propagación interiores
Modelos de propagación interioresModelos de propagación interiores
Modelos de propagación interioresFrancisco Sandoval
 
Modelos De Referencia (Clase 4)
Modelos De Referencia (Clase 4)Modelos De Referencia (Clase 4)
Modelos De Referencia (Clase 4)Isaac Quil
 
Tema 5: Modelos de propagación en interiores
Tema 5: Modelos de propagación en interioresTema 5: Modelos de propagación en interiores
Tema 5: Modelos de propagación en interioresFrancisco Sandoval
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ipingangelp
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poodemon_628
 
Redes locales basico 2014 ii
Redes locales basico 2014 iiRedes locales basico 2014 ii
Redes locales basico 2014 iiluferam6
 
Investigación sobre Protocolos y Dominios en el Contexto
Investigación sobre Protocolos y Dominios en el ContextoInvestigación sobre Protocolos y Dominios en el Contexto
Investigación sobre Protocolos y Dominios en el ContextoGuisella Jimenez
 
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
 
Proyecto de-programacion-II
Proyecto de-programacion-IIProyecto de-programacion-II
Proyecto de-programacion-IICarlosOrozco140
 
Ejercicio de redes
Ejercicio de redesEjercicio de redes
Ejercicio de redesPEDRO666666
 
Silabo teleco ii_unprg_2017
Silabo teleco ii_unprg_2017Silabo teleco ii_unprg_2017
Silabo teleco ii_unprg_2017diegovicto
 
Redes matenimiento...
Redes matenimiento...Redes matenimiento...
Redes matenimiento...wilmar244
 

Similaire à Polimorfismo (20)

Modelos de propagación interiores
Modelos de propagación interioresModelos de propagación interiores
Modelos de propagación interiores
 
poo
poopoo
poo
 
Modelos De Referencia (Clase 4)
Modelos De Referencia (Clase 4)Modelos De Referencia (Clase 4)
Modelos De Referencia (Clase 4)
 
Tema 5: Modelos de propagación en interiores
Tema 5: Modelos de propagación en interioresTema 5: Modelos de propagación en interiores
Tema 5: Modelos de propagación en interiores
 
Topologias de red_Jorge
Topologias de red_JorgeTopologias de red_Jorge
Topologias de red_Jorge
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ip
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSI
 
Redes locales basico 2014 ii
Redes locales basico 2014 iiRedes locales basico 2014 ii
Redes locales basico 2014 ii
 
Investigación sobre Protocolos y Dominios en el Contexto
Investigación sobre Protocolos y Dominios en el ContextoInvestigación sobre Protocolos y Dominios en el Contexto
Investigación sobre Protocolos y Dominios en el Contexto
 
Guía de Código de Linea
Guía de Código de LineaGuía de Código de Linea
Guía de Código de Linea
 
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
 
Proyecto de-programacion-II
Proyecto de-programacion-IIProyecto de-programacion-II
Proyecto de-programacion-II
 
Topologías
TopologíasTopologías
Topologías
 
Transp objetos
Transp objetosTransp objetos
Transp objetos
 
Ejercicio de redes
Ejercicio de redesEjercicio de redes
Ejercicio de redes
 
Silabo teleco ii_unprg_2017
Silabo teleco ii_unprg_2017Silabo teleco ii_unprg_2017
Silabo teleco ii_unprg_2017
 
Modelo tcp/ip
Modelo tcp/ipModelo tcp/ip
Modelo tcp/ip
 
Redes matenimiento...
Redes matenimiento...Redes matenimiento...
Redes matenimiento...
 
5.-DISPOSITIVOS DE EXPANCION
5.-DISPOSITIVOS DE EXPANCION 5.-DISPOSITIVOS DE EXPANCION
5.-DISPOSITIVOS DE EXPANCION
 

Plus de Luis Álamo

Sistemas Basados en Casos IUT
Sistemas Basados en Casos IUTSistemas Basados en Casos IUT
Sistemas Basados en Casos IUTLuis Álamo
 
Reglas y hechos IA
Reglas y hechos IAReglas y hechos IA
Reglas y hechos IALuis Álamo
 
Sistemas basados en casos
Sistemas basados en casosSistemas basados en casos
Sistemas basados en casosLuis Álamo
 
Alojamiento de páginas web
Alojamiento de páginas webAlojamiento de páginas web
Alojamiento de páginas webLuis Álamo
 
Desarrollo de Páginas Web
Desarrollo de Páginas WebDesarrollo de Páginas Web
Desarrollo de Páginas WebLuis Álamo
 
Estandarización de paginas web
Estandarización de paginas webEstandarización de paginas web
Estandarización de paginas webLuis Álamo
 
Horario laboratorio1oct2011 ene2012
Horario laboratorio1oct2011 ene2012Horario laboratorio1oct2011 ene2012
Horario laboratorio1oct2011 ene2012Luis Álamo
 
Formato control asistencia sevicio comunitario
Formato control asistencia sevicio comunitarioFormato control asistencia sevicio comunitario
Formato control asistencia sevicio comunitarioLuis Álamo
 
Búsquedas heurísticas
Búsquedas heurísticasBúsquedas heurísticas
Búsquedas heurísticasLuis Álamo
 
Introducción a la inteligencia artificial profesora iris albarran
Introducción a la inteligencia artificial   profesora iris albarranIntroducción a la inteligencia artificial   profesora iris albarran
Introducción a la inteligencia artificial profesora iris albarranLuis Álamo
 
PNF Informática
PNF InformáticaPNF Informática
PNF InformáticaLuis Álamo
 

Plus de Luis Álamo (12)

Sistemas Basados en Casos IUT
Sistemas Basados en Casos IUTSistemas Basados en Casos IUT
Sistemas Basados en Casos IUT
 
Reglas y hechos IA
Reglas y hechos IAReglas y hechos IA
Reglas y hechos IA
 
Sistemas basados en casos
Sistemas basados en casosSistemas basados en casos
Sistemas basados en casos
 
Alojamiento de páginas web
Alojamiento de páginas webAlojamiento de páginas web
Alojamiento de páginas web
 
Desarrollo de Páginas Web
Desarrollo de Páginas WebDesarrollo de Páginas Web
Desarrollo de Páginas Web
 
Estandarización de paginas web
Estandarización de paginas webEstandarización de paginas web
Estandarización de paginas web
 
Horario laboratorio1oct2011 ene2012
Horario laboratorio1oct2011 ene2012Horario laboratorio1oct2011 ene2012
Horario laboratorio1oct2011 ene2012
 
Formato control asistencia sevicio comunitario
Formato control asistencia sevicio comunitarioFormato control asistencia sevicio comunitario
Formato control asistencia sevicio comunitario
 
Búsquedas heurísticas
Búsquedas heurísticasBúsquedas heurísticas
Búsquedas heurísticas
 
Introducción a la inteligencia artificial profesora iris albarran
Introducción a la inteligencia artificial   profesora iris albarranIntroducción a la inteligencia artificial   profesora iris albarran
Introducción a la inteligencia artificial profesora iris albarran
 
PNF Informática
PNF InformáticaPNF Informática
PNF Informática
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 

Dernier

Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 

Dernier (20)

Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 

Polimorfismo

  • 2. POLIMORFISMO Indice • Definición y caracteristicas • Objetivos. • SOBRRESCRITURA-SOBRECARGA • Clases y métodos abstractos • INTERFACES (herencia múltiple) • Subclase,Clase abstracta e Interface • Interface vs. Clase Abstracta • Ejemplo: (4)Project Musica (Instrumentos). 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .2
  • 3. POLIMORFISMO Definicion y características Son dos mecanismos (up,downcasting) relacionados que otorgan a la OOP una gran potencia frente a otros paradigmas de programación Únicamente tienen sentido por la existencia de la herencia El sentido del polimorfismo (up-casting) es realizar una generalización, olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .3
  • 4. POLIMORFISMO Definicion y características Una variable referencia es polimórfica cuando su tipo de declaración no coincide con el tipo del objeto al que referencia: Figura f1 = new Figura(“Estandar”, “Rojo”); Figura f2 = new Circulo(“Verde”, 5.0); 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .4
  • 5. POLIMORFISMO Definicion y características El polimorfismo esta presente cuando se envia un mensaje a un objeto del que no se sabe su tipo, ejecutánodse el metodo adecuado de acuerdo con su tipo. Enlace dinamico: Se elige el metodo a ejecutar en tiempo de ejecucion, en funcion de la clase del objeto; Es la implementacion del polimorfismo. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .5
  • 6. POLIMORFISMO Definicion y características • Moldes de objetos(castings): • Realizan conversiones de tipo, no modifican al objeto, solo su tipo. • Upcasting : Interpretar un objeto de una clase derivada como del mismo tipo que la clase base. – No hace falta especificarlo • Downcasting: Interpretar un objeto de una clase base como del mismo tipo que una clase derivada suya. – Se especifica precediendo al objeto a convertir con el nuevo tipo entre paréntesis. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .6
  • 7. POLIMORFISMO Definicion y características • Ejemplo upcasting polimorfismo • (1)Project Polimorfismo,Polimorfismo2 (Mamifero). 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .7
  • 8. POLIMORFISMO Definicion y características Tras realizar una conexión polimorfa es frecuente la necesidad de volver a recuperar el objeto original, para acceder a sus operaciones propias. Se trata de la operación inversa al polimorfismo(upcasting), denominada downcasting. Si el polimorfismo implica una generalización, el downcasting implica una especialización. Al contrario que el upcasting, el downcasting no puede realizarse directamente mediante una conexión con una referencia de la clase del objeto. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .8
  • 9. POLIMORFISMO Definicion y características Utilizar instanceof para determinar si el objeto es de la clase esperada antes de realizar el casting. • La operación getClass () de Object devuelve un objeto de la clase Class que permite obtener en tiempo de ejecución gran cantidad de información de la clase a la que pertenece el objeto. El atributo estático class de la clase también devuelve una referencia a este objeto 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .9
  • 10. POLIMORFISMO Objetivos • Objetivo: reutilizacion y flexibilidad. • Facilidad para adaptarse a cambios • ¿Cómo se consigue? Interfaces Clases abstractas Métodos polimórficos • Implementación de colecciones y métodos genéricos. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 11. POLIMORFISMO Objetivos • Permite código independiente del tipo. Fácil de escribir y entender. • Al añadir nuevos tipos: • No hay que reescribir código • Programas extensibles 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 12. POLIMORFISMO Objetivos ANIMAL FELINO CANINO LEON TIGRE GATO LOBO PERRO 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 13. POLIMORFISMO Objetivos EJEMPLO DE COLECCIÓN GENÉRICA public class TestPolimorfismo{ public static void main(String[] args) { Animal[] animales = new Animal[4]; animales[0] = new Lobo(); animales[1] = new Perro(); animales[2] = new Leon(); animales[3] = new Tigre(); for(int i=0; i<animales.length; i++) { animales[i].dormir(); animales[i].comer(); } } } 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 14. POLIMORFISMO Objetivos MATEMÁTICO FIGURA CUADRADO TRIANGULO CIRCULO 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 15. POLIMORFISMO Objetivos EJEMPLO DE MÉTODO GENÉRICO public class Matematico{ public double calcularArea(Figura param) { return param.calcularArea(); } } public class TestPolimorfismo { public static void main(String[] args) { Matematico m = new Matematico(); m.calcularArea(new Circulo()); m.calcularArea(new Triangulo()); } } 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 16. POLIMORFISMO SOBREESCRITURA-SOBRECARGA • SOBREESCRITURA: La subclase reimplementa el método heredado (cambian el comportamiento). • SOBRECARGA: Varias implementaciones del mismo método con distintos parámetros (cambio de interfaz). Muy habitual en constructores. – Es aquí donde realmente se aprecia los beneficios del polimorfismo. – Sobrecargando el constructor conseguimos dotar a la clase de flexibilidad. – Pero siempre debe quedar claro que tras la conexión polimorfa únicamente podemos acceder a las operaciones pertenecientes a la clase asociada a la referencia. El resto de operaciones del objeto no son accesibles a través de esta referencia 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 17. POLIMORFISMO SOBRRESCRITURA-SOBRECARGA //Sobrecarga de constructores class Box { double width; double height; double depth; //El siguiente es el constructor específico Box(double w, double h, double d) { width = w; height = h; depth = d; } Box () { width = height = depth = -1 //-1 indica volumen no existente } //Cubo,entonces, por qué introducir 3 valores? Box (double valor) { width = height = depth = valor; } double volume() { return width * height * depth; } 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 18. POLIMORFISMO Clases y métodos abstractos • Clases abastractas: A menudo existen clases que sirven para definir un tipo genérico pero que no tiene sentido instanciar (crear objetos de ella). • Métodos abstractos: Un método abstracto significa que tiene que ser sobrescrito. No está implementado. • Una clase con uno o varios métodos abstractos tiene que ser declarada abstracta. • No obstante una clase abstracta no tiene porque tener métodos abstractos. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 19. POLIMORFISMO INTERFACES (herencia múltiple) • Los interfaces en Java nos solucionan en parte la no existencia de la herencia múltiple. • Los interfaces son un tipo de clase especial que no implementa ninguno de sus métodos. Todos son abstractos. Por tanto no se pueden instanciar. • De los interfaces también se hereda, aunque se Suele decir implementa. Y se realiza mediante la keyword: implements. • Si una clase que hereda de un interface, no implementa todos los métodos de este, deberá ser definida como abstracta. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 20. POLIMORFISMO INTERFACES (herencia múltiple) • ¿Para qué se utiliza? • Para permitir la herencia múltiple (ya que la herencia en Java sólo permite heredar de una sola clase). • Definen un comportamiento (o funcionalidad) genérico, ignorando los aspectos relacionados con su implementación. • Las interfaces que implementa una clase se comportan igual que las superclases en lo que respecta al uso del polimorfismo. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 21. POLIMORFISMO INTERFACES (herencia múltiple) • (3)Project HerenciaMultiple2 (Anfibio). 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 22. POLIMORFISMO Subclase,Clase abstracta e Interface • Subclase: Necesitemos hacer una especialización de la superclase mediante sobreescritura o añadiendo nuevos métodos. • Clase abstracta: Queremos definir un grupo genérico de clases y además tengamos algunos métodos implementados que reutilizar. • Interface: Queremos definir un grupo genérico de clases y no tengamos métodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia múltiple en Java. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 23. POLIMORFISMO Interface vs. Clase Abstracta • Un interface no puede implementar ningún método. • Un interface no forma parte de la jerarquía de clases. Clases dispares pueden implementar el mismo interface. • Una clase puede implementar n interfaces pero solo una clase. • El objetivo de un método abstracto es forzar una interfaz (API) pero no una implementación. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 24. POLIMORFISMO Interface vs. Clase Abstracta • Haremos un interface cuando queramos definir un grupo genérico de clases y no tengamos métodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia múltiple en Java. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 25. POLIMORFISMO Ejemplos de polimorfismo • (4)Project Musica (Instrumentos). 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .
  • 26. DIAGRAMA DE CLASES: MUSICA 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .