• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Polimorfismo en Java
 

Polimorfismo en Java

on

  • 2,352 views

Polimorfismo en Java

Polimorfismo en Java

Statistics

Views

Total Views
2,352
Views on SlideShare
2,352
Embed Views
0

Actions

Likes
1
Downloads
48
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Polimorfismo en Java Polimorfismo en Java Presentation Transcript

    • INTEGRANTES:  Jéssica Caiza  Estefani Lucero  Mishelle RuizPOLIMORFISMO
    •  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 elmismo nombre, pero que se aplican a clases diferentes.Por ejemplo, un método llamado operación puede responderde 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étodosRELACIÓ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()}