Você está na página 1de 10

Ejemplo prctico: Sistema de nmina utilizando polimorfismo.

Ahora aplicaremos mtodos abstractos y polimorfismo para realizar clculos de pago de sueldos a sus empleados. Una compaa paga a sus empleados en forma semanal. La compaa tiene 4 tipos de empleados: empleados asalariados que reciben un sueldo semanal fijo, sin importar el nmero de horas trabajadas; empleados por hora, que reciben un sueldo por hora y pago por tiempo extra; empleados por comisin, que reciben un porcentaje de sus ventas y el empleado asalariado por comisin, que recibe un salario base ms un porcentaje de sus ventas. Para este perodo de pago, la compaa ha decidido compensar a los empleados por comisin agregando un 10% a sus salarios. La compaa desea implementar una aplicacin en Java que realice sus clculos de nmina en forma polimrfica.

. Utilizaremos la clase Empleado para representar a un empleado genrico. Las clases que extienden a Empleado son EmpleadoAsalariado, EmpleadoPorComision y EmpleadoPorHoras. La clase EmpleadoBaseMasComision (que extiende a EmpleadoPorComisin) representa al ltimo tipo de empleado. Un mtodo ingresos se aplica genricamente a todos los empleados. Pero el clculo de los ingresos de cada empleado depende de su clase. Por eso declaramos a ingresos como un mtodo abstracto en la superclase Empleado (ya que en esta clase no es apropiada ninguna implementacin especfica) y cada subclase sobrescribe a ingresos con una implementacin apropiada. Para calcular los ingresos de un empleado, el programa asigna a una variable de la superclase la referencia al objeto de ese empleado, y despus invoca al mtodo ingresos del empleado. Mantenemos un arreglo de de variables Empleado que guardan las referencias a cada objeto empleado. Java procesa estas llamadas a los mtodos mediante polimorfismo.

Você também pode gostar