员工工资框架

Employee:这是所有员工总的父类
                   属性:员工的姓名,员工的生日月份。
                   方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。

public abstract class Employee {
    private String name;//员工姓名
    private int month;//员工生日月份
    public abstract double salary(int month);
 
    public Employee() {
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getMonth() {
        return month;
    }
 
    public void setMonth(int month) {
        this.month = month;
    }
 
    public Employee(String name, int month) {
        this.name = name;
        this.month = month;
    }
}
SalariedEmployee: Employee的子类,拿固定工资的员工。
                    属性:月薪

public class SalariedEmployee extends Employee{
    private double Msalary;//月薪
 
    public SalariedEmployee(String name,int month,double msalary) {
        this.Msalary=msalary;
    }
 
    public SalariedEmployee() {
        super();
    }
 
    public SalariedEmployee(double msalary){
        this.Msalary=msalary;
    }
 
    public double getMsalary() {
        return Msalary;
    }
 
    public void setMsalary(double msalary) {
        Msalary = msalary;
    }
 
    @Override
    public double salary(int month) {
        double salary=this.Msalary;
        if (super.getMonth()==month){
            salary+=100;
            System.out.println("姓名"+super.getName()+"生日"+super.getMonth()+"有奖励");
        }
 
        return salary;
    }
}
HourlyEmployee:Employee的子类,按小时拿工资的员工。

                     每月工作超出160小时的部分按照1.5倍工资发放。
                    属性:每小时的工资、每月工作的小时数

public class HourlyEmployee extends Employee{
 
    private double hsalary;//每小时工资
    private int hours;//每月工作的小时数
 
    public double getHsalary() {
        return hsalary;
    }
 
    public void setHsalary(double hsalary) {
        this.hsalary = hsalary;
    }
 
    public int getHours() {
        return hours;
    }
 
    public void setHours(int hours) {
        this.hours = hours;
    }
 
    public HourlyEmployee(double hsalary, int hours) {
        this.hsalary = hsalary;
        this.hours = hours;
    }
 
    public HourlyEmployee() {
        super();
    }
 
    @Override
    public double salary(int month) {
 
        return 0;
    }
}

SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定。
                    属性:月销售额、提成率

public class SalesEmployee extends Employee{
 
    private double Msales;//月销售额
    private double ticheng;//提成率
 
    public double getMsales() {
        return Msales;
    }
 
    public void setMsales(double msales) {
        Msales = msales;
    }
 
    public double getTicheng() {
        return ticheng;
    }
 
    public void setTicheng(double ticheng) {
        this.ticheng = ticheng;
    }
 
    public SalesEmployee(double msales, double ticheng) {
        Msales = msales;
        this.ticheng = ticheng;
    }
 
    public SalesEmployee() {
        super();
    }
 
    @Override
    public double salary(int month) {
        return 0;
    }
}

BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员
                    工资由底薪加上销售提成部分。
                    属性:底薪   

public class BasePlusSalesEmployee extends SalesEmployee{
 
    private double Basicsalary;//底薪
 
    public double getBasicsalary() {
        return Basicsalary;
    }
 
    public void setBasicsalary(double basicsalary) {
        Basicsalary = basicsalary;
    }
 
    public BasePlusSalesEmployee(double msales, double ticheng, double basicsalary) {
        super(msales, ticheng);
        Basicsalary = basicsalary;
    }
 
    @Override
    public double getMsales() {
        return super.getMsales();
    }
}
测试类

public class Test {
    public static void main(String[] args) {
        Employee employee[]=new Employee[5];
        System.out.println("------------");
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值