資源簡介
實驗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開發板—榮品電子
評論
共有 條評論