Dada Una Clase Base Empleado

3
Dada una clase base Empleado, y sus clases derivadas: EmpleadoPorComision, EmpleadopoHoras, donde cada subclase proporciona implementación del método: calcularPago(). EmpleadoPorHora, calcula multiplicando las horas trabajadas por el precio por hora. EmpleadoPorComision, se calcula, con un salario base más un bono por cada unidad vendida. Cada subclase agrega algunos métodos propios. public abstract class Empleado { private String nombre; private String apellido; private double salario; public Empleado(String nombre, String apellido, double salario){ this.nombre=nombre; this.apellido=apellido; this.salario=salario; } public double getSalario(){ return salario; } public String getNombre(){ return nombre; } public String getApellido(){ return apellido; } public abstract double calcularPago(); public void imprimirRecibo(){ System.out.println("Pago: "+apellido+", "+nombre+" S/."+calcularPago()); } } public class EmpleadoPorComision extends Empleado{ private double comision; // bono por unidad vendida private int unidades; // # de unidades vendidas public EmpleadoPorComision(String nombre, String apellido, double salario, double comision){ super(nombre,apellido,salario); this.comision=comision; } public void sumarventas(int unidades){ //this.unidades=unidades; this.unidades=this.unidades+unidades; } public int getVentas(){ return unidades; } public double calcularPago(){ return getSalario()+ (comision*unidades); public class Nomina { private int horas_totales; private int ventas_totales; private double pago_total; public void registrarInfoEmpleado(EmpleadoPorComis ion emp){ ventas_totales=ventas_totales+emp.getV entas();} public void registrarInfoEmpleado(EmpleadoPorHoras emp){ horas_totales=horas_totales+emp.getHor as();} public void pagarEmpleados(Empleado[] emps){ for(int i=0;i<emps.length;i++) { Empleado emp=emps[i]; pago_total=pago_total+emp.calcularPago (); emp.imprimirRecibo(); }} } -------------------------------------- -------------------- public class ControladorNomina { public static void main(String[] args) { // Crear un sistema de nomina Nomina nomina=new Nomina();

description

Java Programación de computadoras

Transcript of Dada Una Clase Base Empleado

Dada una clase base Empleado, y sus clases derivadas: EmpleadoPorComision, EmpleadopoHoras, donde cada subclase proporciona implementacin del mtodo: calcularPago().EmpleadoPorHora, calcula multiplicando las horas trabajadas por el precio por hora.EmpleadoPorComision, se calcula, con un salario base ms un bono por cada unidad vendida.Cada subclase agrega algunos mtodos propios.public abstract class Empleado { private String nombre; private String apellido; private double salario; public Empleado(String nombre, String apellido, double salario){ this.nombre=nombre; this.apellido=apellido; this.salario=salario; } public double getSalario(){ return salario; } public String getNombre(){ return nombre; } public String getApellido(){ return apellido; } public abstract double calcularPago(); public void imprimirRecibo(){ System.out.println("Pago: "+apellido+", "+nombre+" S/."+calcularPago()); } }public class EmpleadoPorComision extends Empleado{ private double comision; // bono por unidad vendida private int unidades; // # de unidades vendidas public EmpleadoPorComision(String nombre, String apellido, double salario, double comision){ super(nombre,apellido,salario); this.comision=comision; } public void sumarventas(int unidades){ //this.unidades=unidades; this.unidades=this.unidades+unidades; } public int getVentas(){ return unidades; } public double calcularPago(){ return getSalario()+(comision*unidades);public class Nomina { private int horas_totales; private int ventas_totales; private double pago_total; public void registrarInfoEmpleado(EmpleadoPorComision emp){ ventas_totales=ventas_totales+emp.getVentas();} public void registrarInfoEmpleado(EmpleadoPorHoras emp){ horas_totales=horas_totales+emp.getHoras();} public void pagarEmpleados(Empleado[] emps){ for(int i=0;i