SlideShare una empresa de Scribd logo
1 de 13
INTEGRANTES:
           Jéssica Caiza
           Estefani Lucero
           Mishelle Ruiz




POLIMORFISMO
   El Polimorfismo es la respuesta distinta frente a una
    llamada a un método dependiendo de la naturaleza
    del objeto.

Consiste en definir métodos distintos, que comparten el
mismo nombre, pero que se aplican a clases diferentes.
Por ejemplo, un método llamado operación puede responder
de manera distinta dependiendo de quien lo invoque:




 polimorfismo
   Así como la herencia está relacionada
    con las clases y la jerarquía, el
    polimorfismo está relacionado con los
    métodos




RELACIÓN
• El polimorfismo esta presente cuando se
  envía un mensaje a un objeto del que no se
  sabe su tipo, ejecutándose el método
  adecuado de
  acuerdo con su tipo.
POLIMORFISMO

 Es posible diseñar e implementar sistemas
  que son mas fácilmente extensibles podemos
  escribir programas que procesen
  generalmente como objeto de superclase,
  objetos de todas las clases existentes en una
  jerarquía
 Las clases que no existen durante el desarrollo
  de los programas se pueden agregar con poca
  o ninguna modificación de la parte genérica
  del programa
polimorfismo y {
 {             sobrecarga
        POLIMORFISMO                 SOBRECARGA

   Declaramos una                 La      sobrecarga      de
    superclase con un               métodos es dentro de
    método obligando a que          una misma clase definir
    las clases que hereden de       que un mismo método
    ella lo implementen y           ejecute          distintas
    dependiendo de que tipo         instrucciones
    de objeto es el que llame       dependiendo            los
    al método es el código          parámetros que se le
    que se ejecuta.                 pasen.
   Existen básicamente 3 formas de polimorfismo:
   SOBRECARGA .- Significa el uso de un mismo identificador u
    operador en distintos contextos y con distintos significados.
   SOBREESCRITURA.- se aplica a los métodos y está
    directamente relacionada a la herencia; se refiere a la
    redefinición de los métodos de la clase base en las subclases.
   ENLACE DINAMICO.- Esto permite invocar operaciones en
    objetos obviando el tipo actual de éstos hasta el momento de
    ejecutar el código, es decir nos permite definir elementos como
    un tipo e instanciarlos como un tipo heredado.




      Clasificación:
class programa{
   public void metodo(){
          System.out.println ("nProgramacion II");
   }
 }
   class operador extend programa{
   }

    class compilar extend programa{
       public void metodo(){
        System.out.println ("nElectronica");
       }
     }
        public class Ej_pol {
      public static void main(String[] args) {
            compilar obj=new compilar();
            obj.metodo();
            operador obj2=new operador();
            obj2.metodo(); }
}
   Para poner en práctica se hará un ejemplo bastante
    sencillo. Se hará una librería de clases que represente
    figuras tridimensionales y bidimensionales, y su
    respectiva jerarquía de clases. Las clases deben ser
    capaces de tener funcionamiento bastante básico, como
    obtener áreas, volúmenes y perímetros de la figura
    correspondiente.
   Una misma llamada ejecuta distintas sentencias
    dependiendo de la clase a la que pertenezca el objeto al
    que se aplica el método.
   Supongamos que declaramos: Persona p;
   Podría suceder que durante la ej. del programa, p
    referencie a un profesor o a un alumno en distintos
    momentos, y
   Entonces:
       Si p referencia a un alumno, con p.toString(), se ejecuta el
        toString de la clase Alumno.
        Si p referencia a un profesor, con p.toString(), se ejecuta el
        toString de la clase Profesor.
   Enlace dinámico: Se decide en tiempo de ejecución
    qué método se ejecuta.
   OJO!: Sobrecarga de fs => enlace estático (t. de
    compilación).
public static void main(String[] args) {
  Persona v[]=new Persona[10];
// Se introducen alumnos, profesores y personas en v
  for (int i=0 ; i<10; i++)
   /* Se piden datos al usuario de profesor, alumno o persona
   */
   switch (tipo) {
          case /* profesor */: v*i+ = new Profesor (<.); break;
          case /* alumno */: v*i+ = new Alumno(<); break;
          case /* persona */: v*i+ = new Persona(<); break;
          default: /* ERROR */ }
   }
  for (int i=0 ; i<10; i++)
   System.out.println(v[i]); // enlace dinámico con toString()
}

Más contenido relacionado

La actualidad más candente

4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaDaniel Gómez
 
POO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basuraPOO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basura1da4
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)programadorjavablog
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismonestor_moren
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAMichelle Torres
 
Conexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLConexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLIvan Luis Jimenez
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo pptivanvillar7
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVAMichelle Torres
 
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoJosé Antonio Sandoval Acosta
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosFranklin Parrales Bravo
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenasJuan Durango
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre ObjetosEmilio Aviles Avila
 

La actualidad más candente (20)

4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
5.manejo de excepciones
5.manejo de excepciones5.manejo de excepciones
5.manejo de excepciones
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - Algoritmia
 
10 Polimorfismo
10   Polimorfismo10   Polimorfismo
10 Polimorfismo
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
POO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basuraPOO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basura
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA
 
Conexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLConexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQL
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo ppt
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismo
 
Programación Orientada a Objetos para Python
Programación Orientada a Objetos para PythonProgramación Orientada a Objetos para Python
Programación Orientada a Objetos para Python
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a Objetos
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 

Similar a polimorfismo-clases-figuras

Similar a polimorfismo-clases-figuras (20)

Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Polimorfism oo
Polimorfism ooPolimorfism oo
Polimorfism oo
 
Investigacion v unidad
Investigacion v unidadInvestigacion v unidad
Investigacion v unidad
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
 
Guía polimorfismo
Guía polimorfismoGuía polimorfismo
Guía polimorfismo
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
Reporte
ReporteReporte
Reporte
 
Reporte
ReporteReporte
Reporte
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
10 - Slides-Java sesion.pptx
10 - Slides-Java sesion.pptx10 - Slides-Java sesion.pptx
10 - Slides-Java sesion.pptx
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
polimorfismo
polimorfismopolimorfismo
polimorfismo
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
 
JAVA 00 - TEMA 05 - HERENCIA
JAVA 00 - TEMA 05 - HERENCIAJAVA 00 - TEMA 05 - HERENCIA
JAVA 00 - TEMA 05 - HERENCIA
 
Act10byme
Act10bymeAct10byme
Act10byme
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxMecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
 
metodos de clases
metodos de clasesmetodos de clases
metodos de clases
 

polimorfismo-clases-figuras

  • 1. INTEGRANTES:  Jéssica Caiza  Estefani Lucero  Mishelle Ruiz POLIMORFISMO
  • 2. El Polimorfismo es la respuesta distinta frente a una llamada a un método dependiendo de la naturaleza del objeto. Consiste en definir métodos distintos, que comparten el mismo nombre, pero que se aplican a clases diferentes. Por ejemplo, un método llamado operación puede responder de manera distinta dependiendo de quien lo invoque: polimorfismo
  • 3. Así como la herencia está relacionada con las clases y la jerarquía, el polimorfismo está relacionado con los métodos RELACIÓN
  • 4. • El polimorfismo esta presente cuando se envía un mensaje a un objeto del que no se sabe su tipo, ejecutándose el método adecuado de acuerdo con su tipo.
  • 5. POLIMORFISMO  Es posible diseñar e implementar sistemas que son mas fácilmente extensibles podemos escribir programas que procesen generalmente como objeto de superclase, objetos de todas las clases existentes en una jerarquía  Las clases que no existen durante el desarrollo de los programas se pueden agregar con poca o ninguna modificación de la parte genérica del programa
  • 6. polimorfismo y { { sobrecarga POLIMORFISMO SOBRECARGA  Declaramos una  La sobrecarga de superclase con un métodos es dentro de método obligando a que una misma clase definir las clases que hereden de que un mismo método ella lo implementen y ejecute distintas dependiendo de que tipo instrucciones de objeto es el que llame dependiendo los al método es el código parámetros que se le que se ejecuta. pasen.
  • 7. Existen básicamente 3 formas de polimorfismo:  SOBRECARGA .- Significa el uso de un mismo identificador u operador en distintos contextos y con distintos significados.  SOBREESCRITURA.- se aplica a los métodos y está directamente relacionada a la herencia; se refiere a la redefinición de los métodos de la clase base en las subclases.  ENLACE DINAMICO.- Esto permite invocar operaciones en objetos obviando el tipo actual de éstos hasta el momento de ejecutar el código, es decir nos permite definir elementos como un tipo e instanciarlos como un tipo heredado. Clasificación:
  • 8.
  • 9. class programa{ public void metodo(){ System.out.println ("nProgramacion II"); } } class operador extend programa{ } class compilar extend programa{ public void metodo(){ System.out.println ("nElectronica"); } } public class Ej_pol { public static void main(String[] args) { compilar obj=new compilar(); obj.metodo(); operador obj2=new operador(); obj2.metodo(); } }
  • 10. Para poner en práctica se hará un ejemplo bastante sencillo. Se hará una librería de clases que represente figuras tridimensionales y bidimensionales, y su respectiva jerarquía de clases. Las clases deben ser capaces de tener funcionamiento bastante básico, como obtener áreas, volúmenes y perímetros de la figura correspondiente.
  • 11.
  • 12. Una misma llamada ejecuta distintas sentencias dependiendo de la clase a la que pertenezca el objeto al que se aplica el método.  Supongamos que declaramos: Persona p;  Podría suceder que durante la ej. del programa, p referencie a un profesor o a un alumno en distintos momentos, y  Entonces:  Si p referencia a un alumno, con p.toString(), se ejecuta el toString de la clase Alumno.  Si p referencia a un profesor, con p.toString(), se ejecuta el toString de la clase Profesor.  Enlace dinámico: Se decide en tiempo de ejecución qué método se ejecuta.  OJO!: Sobrecarga de fs => enlace estático (t. de compilación).
  • 13. public static void main(String[] args) { Persona v[]=new Persona[10]; // Se introducen alumnos, profesores y personas en v for (int i=0 ; i<10; i++) /* Se piden datos al usuario de profesor, alumno o persona */ switch (tipo) { case /* profesor */: v*i+ = new Profesor (<.); break; case /* alumno */: v*i+ = new Alumno(<); break; case /* persona */: v*i+ = new Persona(<); break; default: /* ERROR */ } } for (int i=0 ; i<10; i++) System.out.println(v[i]); // enlace dinámico con toString() }