假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:(1)经理(Manager)——每月获得一份固定的工资(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。(3)一般工人(Worker)——则按他每月工作的天数计算工资。根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Applic...
·
假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(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();
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)