SlideShare uma empresa 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()
}

Mais conteúdo relacionado

Mais procurados

Declaraciones, variables y constantes(2 2)
Declaraciones, variables y constantes(2 2)Declaraciones, variables y constantes(2 2)
Declaraciones, variables y constantes(2 2)IrvinOrta
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo dbRuby B. Blanca
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#Doncho Minkov
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaJosé Antonio Sandoval Acosta
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionlongojose
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la pooMagda Fernandez
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosJosé Antonio Sandoval Acosta
 
Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteRufi Flores
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Collections - Array List
Collections - Array List Collections - Array List
Collections - Array List Hitesh-Java
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPT4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPTAjay Chimmani
 

Mais procurados (20)

Declaraciones, variables y constantes(2 2)
Declaraciones, variables y constantes(2 2)Declaraciones, variables y constantes(2 2)
Declaraciones, variables y constantes(2 2)
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
Ciclos
CiclosCiclos
Ciclos
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constante
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Collections - Array List
Collections - Array List Collections - Array List
Collections - Array List
 
Packages in java
Packages in javaPackages in java
Packages in java
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPT4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPT
 

Semelhante a Polimorfismo en Java

Semelhante a Polimorfismo en Java (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
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Guía polimorfismo
Guía polimorfismoGuía polimorfismo
Guía polimorfismo
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo ppt
 
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
 

Polimorfismo en Java

  • 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() }