![]() |
ayuda con polimorfismo en java
buenas tardes, lo que pasa es que tengo un programa en java sobre el polimorifsmo, pero no logro entenderlo el compilada y todo, lo que pasa es que tengo que explicarlo tanto en php como en java, en php si lo entiendo, pero en java nop, no entiendo dond se ejecuta el polimorfismo en java en este programa?bueno es qtampoco tengo mucha experiencia con java, sera qm pueden ayudar a explicarmelo? les paso el codigo qtengo en java....
package TALLER; //clase que hereda de la clase padre (empleado) public class Asalariado_1 extends Empleado_1 { public float salario; //Salario anual public float preparoPago() { System.out.println("Calculando el pago del salario para " + nombre); return (salario/52); } } -------------------------------------------------- package TALLER; // clase que hereda de la clase padre (empleado) public class Porhoras_1 extends Empleado_1 { public float tarifaHora; //tarifa de pago public float horasTrabajadas; //horas trabajadas semanalmente public float preparoPago() { System.out.println("Calculando el pago por horas para " + nombre); float pago = 0.0F; if(horasTrabajadas <= 40) { pago = tarifaHora * horasTrabajadas; } else //Necesita calcular el sobretiempo { pago = (tarifaHora * 40) + (tarifaHora * (horasTrabajadas - 40) * 1.5F); } return pago; } } ---------------------------------------------- package TALLER; //clase que hereda de la clase padre (empleado) public class PorComision extends Empleado_1{ public float porcentaje; // porcentaje de comision sobre ventas totales public float ventasTotales; //total de ventas realizadas public float preparoPago() { System.out.println("Calculando el pago por comision para " + nombre); float pago = ventasTotales * porcentaje; return pago; } } --------------------------------------------- package TALLER; // Esta es la clase de la cual van a heredar las demas public class Empleado_1 { public String nombre; public String direccion; public int cedula; public void envioCheque() { System.out.println("Enviar cheque a " + nombre + " " + direccion); } } --------------------------------------------- package TALLER; // demostracion de la herencia en la POO public class Demo { public static void main(String [] args) { System.out.println("Instanciando un empleado tipo Asalariado"); Asalariado_1 s = new Asalariado_1(); s.nombre = "Pedro Perez"; s.direccion = "Caracas"; s.cedula = 7654321; s.salario = 100000.00F; System.out.println("Instanciando un empleado tipo porHoras"); Porhoras_1 h = new Porhoras_1(); h.nombre = "Luis Ordaz"; h.direccion = "Guatire"; h.cedula = 1111111; h.tarifaHora = 10.00F; h.horasTrabajadas = 50; System.out.println("Instanciando un empleado tipo porComision"); PorComision c = new PorComision(); c.nombre = "Juan Herrera"; c.direccion = "Guarenas"; c.cedula = 6555172; c.ventasTotales = 250000f; c.porcentaje = 0.15f; System.out.println("Pagando a empleados"); System.out.println(s.nombre + " " + s.preparoPago()); System.out.println(h.nombre + " " + h.preparoPago()); System.out.println(c.nombre + " " + c.preparoPago()); System.out.println("Enviando cheques"); s.envioCheque(); h.envioCheque(); c.envioCheque(); } } |
Tu problema está en que no entiendes el concepto de "Polimorfismo", aunque apostaría mi sueldo a que la culpa no es tuya sino de tu profesor. Hay que tener en cuenta que la Programación Orientada a Objetos no es una característica exclusiva de ciertos lenguajes, sino que trata sobre cómo enfrentarse a un problema para transformarlo en un programa de computadora. De hecho es posible programar "orientado a objetos" en lenguages que no poseen clases ni herencia, como C, Pascal, FORTH e incluso en ensamblador. Esto es un error muy generalizado, hasta el punto que no somo pocos los programadores que no lo tenemos asumido. De hecho, muchísimos programadores se limintan a "usar objetos" y no a "programar orientado a objetos". ;)
El "Polimorfismo", por tanto, es un concepto general. Si sabes lo que es, serás capaz de "explicarlo" en (casi) cualquier lenguaje. |
Siguiendo tu código he notado que es muy dificil entender el polimorfismo ya que el código en si no lo hace notar.;)
Para que lo puedas entender mejor, me he tomado la molestia de modificar algunas pequeñas cositas de tu código en tu clase "Demo": Cita:
Espero haberte podido guiar en algo.;) Un saludo Polimórfico..:D:) |
| La franja horaria es GMT +2. Ahora son las 19:56:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi