Polimorfismo Sobrecarga y Ligadura Dinámica

1 Polimorfismo Sobrecarga y Ligadura Dinámica4LD.NET Carl...
Author: Drina Balcazar
0 downloads 2 Views

1 Polimorfismo Sobrecarga y Ligadura Dinámica4LD.NET Carlos Robert Falcón Escobar Adrián Tabernero abad

2 Introducción El polimorfismo nos permite programar de forma general en lugar de forma específica. Cuando llama a un método, tendrá un comportamiento u otro dependiendo de que clase sea el objeto. El polimorfismo va ligado con la herencia. 4LD.NET

3 Formas de polimorfismoEl polimorfismo se puede dar de estas formas: - Sobrecarga. - Ligadura dinámica. 4LD.NET

4 Sobrecarga Se produce cuando una clase tiene métodos sobrecargados, es decir, métodos con el mismo identificador pero que difieren en el tipo que devuelve o los parámetros que reciben. La misma llamada a un método actuará de una forma u otra en función de los parámetros que reciba dicho método. 4LD.NET

5 Sobrecarga public class Ejemplo{public static void main(String[] args){ Animal a1= new Animal(); Pajaro a2= new Pajaro(); Oso a3= new Oso(); Pez a4= new Pez(); a1.moverse(); a2.moverse(); a3.moverse(); a4.moverse(); }// main }// class 4LD.NET

6 Sobrecarga public class Animal{ public void moverse(){System.out.println(“El animal se mueve.”); } 4LD.NET

7 Sobrecarga public class Pajaro extends Animal{ public void moverse(){System.out.println(“El pájaro vuela.”); } 4LD.NET

8 Sobrecarga public class Oso extends Animal{ public void moverse(){System.out.println(“El oso camina.”); } 4LD.NET

9 Sobrecarga public class Pez extends Animal{ public void moverse(){System.out.println(“El pez nada.”); } 4LD.NET

10 Ligadura dinámica Permite invocar métodos de un objeto sin tener en cuenta su tipo hasta el momento en que se ejecuta el código. 4LD.NET

11 Ligadura dinámica package mamifero; public class Mamifero {protected String nombre; protected int patas; public Mamifero() { } public Mamifero(String string) { this.nombre = string; public String getNombre() { return nombre; public void setNombre(String nombre) { this.nombre = nombre; 4LD.NET

12 Ligadura dinámica protected int getPatas() { return patas; }public void setPatas(int patas) { this.patas = patas; public void comer() { System.out.println("Soy un mamífero y quiero comer"); public void comer(String prueba) { System.out.println("Soy un mamífero y quiero comer " + prueba); public String toString() { return "Mamifero: " + nombre + ",patas" + patas; }// class 4LD.NET

13 Ligadura dinámica package mamifero;public class Perro extends Mamifero { public String nombre; public int patas = 4; public Perro(String nombre) { super(); this.nombre = nombre; } public String getNombre() { return nombre; public void setNombre(String nombre) { public int getPatas() { return patas; 4LD.NET

14 Ligadura dinámica public void setPatas(int patas) {this.patas = patas; } public void Ladra() { System.out.println("Guau"); public void comer() { System.out.println("Soy un perro y quiero comer"); public void comer(String prueba) { System.out.println("Soy un mamifero y quiero comer " + prueba); public String toString() { return "Perro: nombre=" + nombre + ",patas=" + patas; }// class 4LD.NET

15 Ligadura dinámica package mamifero;public class PruebaLigaduraDinamica { public static void main(String[] args) { Mamifero miMamifero = new Mamifero("Mamifero"); Mamifero miMamifero2 = new Perro("Perro"); miMamifero.comer(); miMamifero2.comer(); miMamifero.comer("Verdura"); miMamifero2.comer("Carne"); }// main }// class 4LD.NET

16 Conclusión El significado de la palabra Polimorfismo es “múltiples comportamientos”, es decir, en la programación orientada a objetos el polimorfismo se refiere a la posibilidad de definir clases diferentes que tienen métodos o atributos denominados de forma idéntica, pero que se comportan de manera distinta. El polimorfismo es la capacidad que tiene un lenguaje de programación, en este caso java de elegir uno u otro método en función del contexto. 4LD.NET

17 FIN PRESENTACIÓN 4LD.NET

18 Fuentes · Cristalab.com · Apdaza-poo · Todoexpertos.com· Desarrolloweb.com 4LD.NET