赞
踩
假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
(1)经理(Manager)——每月获得一份固定的工资
(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。
(3)一般工人(Worker)——则按他每月工作的天数计算工资。
根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。)
public abstract class Employee{ public abstract double ComputerSalary(); public double basis; } public class Manager extends Employee{ public Manager(double m_basis){ basis=m_basis; } public double ComputerSalary(){ return basis; } public void show(){ System.out.println("工资:"+ComputerSalary()); } } public class worker extends Employee{ public int days; worker(int days,double m_basis){ this.days=days; basis=m_basis; } public double ComputerSalary(){ return days*basis; } public void show(){ System.out.println("工资:"+ComputerSalary()); } } import java.util.Scanner; public class shows{ public static void main(String args[]){ double basis; int days; double commission; System.out.print("请输入基本工资:"); Scanner reader=new Scanner(System.in); basis=reader.nextDouble(); System.out.print("请输入工作天数:"); days=reader.nextInt(); System.out.print("请输入销售提成:"); commission=reader.nextDouble(); Manager a=new Manager(basis); a.show(); Saleman b=new Saleman(basis,commission); b.show(); worker c=new worker(days,basis); c.show(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。