Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > JAVA
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2010
carmen_iriarte carmen_iriarte is offline
Registrado
 
Registrado: jul 2010
Posts: 5
Poder: 0
carmen_iriarte Va por buen camino
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();
}
}
Responder Con Cita
  #2  
Antiguo 14-07-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
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.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 17-07-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

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:
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");
Empleado_1 s,h,c;// declaro tres objetos de clase Empleado_1
s= new Asalariado_1();// <-Hago que mi objeto "s" se comporte como Asalariado_1
s.nombre = "Pedro Perez";
s.direccion = "Caracas";
s.cedula = 7654321;

s.salario = 100000.00F;

System.out.println("Instanciando un empleado tipo porHoras");

h= new Porhoras_1();// <-Hago que mi objeto "h" se comporte como 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");
c = new PorComision();// <-Hago que mi objeto "h" se comporte como 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();
}
}
Explicacion(segun tu código): Cualquier objeto declarado de clase padre "Empleado_1" puede comportarse como "Asalariado_1" ó como "Porhoras_1" ó cómo "PorComision" ó como cualquier otra clase derivada o que tenga como ancestra a "Empleado_1". Ésto es Polimorfismo(Varias formas), es decir un objeto "Empleado_1" puede ser o tomar varias formas..
Espero haberte podido guiar en algo.
Un saludo Polimórfico..
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 17-07-2010 a las 16:23:06.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
polimorfismo carmen_iriarte C++ Builder 4 14-07-2010 18:53:39
Ayuda con Java Media Framework rodrigo19 JAVA 0 21-09-2007 21:28:20
Ayuda con la Aritmetica en Java jon_g461 JAVA 3 03-08-2007 10:44:37
Polimorfismo en Delphi5 liriko OOP 36 19-12-2005 18:19:18
Novato, ayuda con polimorfismo por favor davitcito Varios 4 01-04-2005 01:32:28


La franja horaria es GMT +2. Ahora son las 12:46:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi