1、(1)创建一个抽象类Worker:
属性:工龄、工号、姓名、基本工资
方法:构造函数;输出所有信息的方法show();
抽象方法计算工资SetPay()
(2)创建一个部门经理类,继承Worker类:
属性:岗位级别,实际工资
方法:构造函数;重写show(),输出所有信息;实现SetPay()
,计算工资的方法(实际工资=基本工资+岗位级别 * 500+工龄*1000)
(3)创建一个销售人员类,继承Worker类:
属性:销售金额,实际工资
方法:构造方法;重写show(),输出所有信息;实现SetPay()
,计算工资的方法(实际工资=基本工资+销售金额 * 系数(其中系数当销售金额大于100W时为0.09,小于100W时为0.08))
(4)创建测试类,分别定义部门经理类和销售人员类对象,计算其工资,并输出信息。
Test类:
package sb;
import java.util.Scanner;
public class Test {
public static void main(String[] args)
{
System.out.println("基本工资均为1000");
Scanner input=new Scanner(System.in);
System.out.println("请输入这个经理的等级");
int lv=input.nextInt();
System.out.println("请输入这个经理的工龄");
int GL=input.nextInt();
System.out.println("请输入这个经理的10位工号");
String GH =input.next();
System.out.println("请输入这个经理的名字");
String name =input.next();
JingLi J1=new JingLi(lv,100,GL,GH,name,0);
J1.show();
System.out.println("请输入这个销售的销售额");
int XS_Money=input.nextInt();
System.out.println("请输入这个销售的工龄");
int GL2=input.nextInt();
System.out.println("请输入这个销售的10位工号");
String GH2 =input.next();
System.out.println("请输入这个销售的名字");
String name2 =input.next();
XiaoShou X1=new XiaoShou(XS_Money,0,GL2,GH2,name2,1000);
X1.show();
}
}
抽象类Worker
package sb;
public abstract class Worker
{
public int GL;
private String GH;
private String name;
public int Money;
public Worker() {};
public Worker(int GL,String GH,String name,int Money)
{
this.GL=GL;
this.GH=GH;
this.name=name;
this.Money=Money;
}
public void show()
{
System.out.print("这名员工的工号事:"+GH+"\n这名员工的工龄为:"+GL+"年\n姓名为:"+name);
}
public abstract void SetPay();
}
经理类:
package sb;
public class JingLi extends Worker
{
private int lv;
public double TrueMoney;
public JingLi() {};
public JingLi(int lv,int TrueMoney,int GL,String GH,String name,int Money)
{
super(GL, GH, name, Money);
this.lv=lv;
this.TrueMoney=TrueMoney;
SetPay();
}
public void SetPay()
{
this.TrueMoney=TrueMoney+Money+(500*lv)+(GL*1000);
}
public void show()
{
super.show();
System.out.println("\n等级是:"+lv+"\n实际工资是:"+TrueMoney);
}
}
销售类:
package sb;
public class XiaoShou extends Worker
{
private double XS_Money;
private double TrueMoney;
public XiaoShou() {};
public XiaoShou(int XS_Money,int TrueMoney,int GL,String GH,String name,int Money)
{
super(GL, GH, name, Money);
this.XS_Money=XS_Money;
this.TrueMoney=TrueMoney;
SetPay();
}
public void SetPay()
{
if(XS_Money>=10000)
{
this.TrueMoney=Money+0.09*XS_Money;
}
else
{
this.TrueMoney=Money+0.08*XS_Money;
}
}
public void show()
{
super.show();
System.out.print("\n销售额是:"+XS_Money+"\n实际工资是:"+TrueMoney);
}
}
结果: