某公司由6人组成,他们分别是:序号
No. 姓名
name 地 址
address 电 话
phone 职 务
title 社会安全号
socialSN 基本工资
payRate
1 Sam 123 Main Line 555-0469 manager 123-45-6789 $2423.07
2 Peter 456 Off Line 555-0101 employee 987-65-4321 $1246.15
3 Mary 789 Off Rocker 555-0690 employee 010-20-3040 $1169.23
4 Cliff 678 Fifth Ave. 555-0000 hourly 958-47-3625 $10.55
5 Al 987 Suds Ave. 555-8374 volunteer 无 $0.00
6 Gus 321 Off Line 555-7282 volunteer 无 $0.00其中,Sam是经理,每月除得到基本工资外,还获得$500.00的红利;Peter和Mary是合同工,每月拿基本工资;Cliff是小时工,他的每月的工资额=基本工资×工作小时数,他的工作小时数为每月40小时;而Al和Gus是义工,不拿工资。图1反应了上述情况。
StaffMember是抽象类,有一个抽象方法pay。
Manager类中的bonus代表红利;awardBonus方法用来增加红利。
Hourly类中的hoursWorked代表一个月工作的小时数;addHours方法用来增加小时数。
Staff类中的main方法用来驱动整个程序的运行;payDetail方法用来显示所有人的详细信息;构造方法用来初始化上述6个人,并将他们存储在staffMember类型的数组中。
每个类都有toString方法,用来返回该类的详细信息。要求你按照此图的继承关系定义每一个类,并最终显示所有人的详细信息。

解决方案 »

  1.   

    最终显示结果!
    1 Sam 123 Main Line 555-0469 manager 123-45-6789 $2423.07 $2923.07
    2 Peter 456 Off Line 555-0101 employee 987-65-4321 $1246.15 $1246.15
    3 Mary 789 Off Rocker 555-0690 employee 010-20-3040 $1169.23 $1169.23
    4 Cliff 678 Fifth Ave 555-0000 hourly 958-47-3625 $10.55 $422.0
    5 Al 987 Suds Ave 555-8374 volunteer 无 $0.0 $0.0
    6 Gus 321 Off Line 555-7282 volunteer 无 $0.0 $0.0