资源简介
实验3 继承和多态
定义下述5个类,
类属性如下:
Employee: firstName,lastName,socialSecurityNumber
SalaridEmployee: weeklySalary(周薪)
HourlyEmployee: wage(每小时的工钱),hours(月工作小时数)
CommisionEmployee: grossSales(销售额),commissionRate(提成比率)
BasePlusCommisionEmployee: baseSalary(月基本工资)
Employee类中定义了抽象方法earning,用于计算员工的月工资。
SalaridEmployee月工资计算为:weeklySalary*4
HourlyEmployee月工资计算为:wage*hours
CommisionEmployee月工资计算为:grossSales*commissionRate
BasePlusCommisionEmployee月工资计算为:grossSales*commissionRate+baseSalary
类还应该包括构造方法,toString方法,属性的get/set方法。
firstName,lastName,socialSecurityNumber的初始化在构造方法中完成。其中对firstName,lastName也要提供get/set方法,对socialSecurityNumber只提供get方法。
其他属性要提供get和set方法。
然后生成10个员工对象,根据随机数决定生成对象的类型(可以是SalaridEmployee、HourlyEmployee、CommisionEmployee、BasePlusCommisionEmployee),对象引用保存到数组中。然后依次调用对象的toString方法输出对象的信息,调用earning方法来输出对象的月工资。
代码片段和文件信息
package homework1;
public class basePlusCommissionEmployee extends CommissionEmployee{
private int baseSalary;
public basePlusCommissionEmployee(String fNameString lNameString numberint grossfloat percentint salary)
{
super(fNamelNamenumbergrosspercent);
this.baseSalary = salary;
}
public int getbaseSalary()
{
return baseSalary;
}
public void setbaseSalary(int money)
{
this.baseSalary = money;
}
public String earning()
{
return “\n该员工月工资为:“ + baseSalary+(this.getCommissionRate())*(this.getGrossSales());
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 591 2016-12-11 23:28 homework3\ba
文件 768 2016-12-11 23:28 homework3\CommissionEmployee.java
文件 889 2016-12-11 23:29 homework3\Employee.java
文件 587 2016-12-11 23:29 homework3\HourlyEmployee.java
文件 509 2016-12-11 23:29 homework3\SalaridEmployee.java
文件 3282 2016-12-11 23:29 homework3\Test.java
目录 0 2016-12-05 11:36 homework3
----------- --------- ---------- ----- ----
6626 7
- 上一篇:北邮java作业1
- 下一篇:瑞芯微RK3288开发板—荣品电子
评论
共有 条评论