美文网首页
Java面向对象练习:动态多态

Java面向对象练习:动态多态

作者: 我的袜子都是洞 | 来源:发表于2018-12-20 20:47 被阅读23次

某处工人有两种计算周薪的方式:

  • 计时
  • 计薪

工人的薪金等级以 小时工资额划分:是在工人对象产生时确定

  • 计时工人的 薪金等级 分为102040US$/hour 三个等级;
  • 计薪工人的 薪金等级 ,分为3050US$/hour 两个等级。
    不同类别和等级工人的周薪计算方法不同。

计时工人周薪的计算方法是:
如果每周的工作时数( hours )在40以内

周薪 = 小时工资额 × 实际工作时数

如果每周的工作时数(hours)超过40

周薪=小时工资额×40+1.5×小时工资额×(实际工作时数–40)。

计薪工周薪的计算方法是:
如果每周的实际工作时数不少于 35 小时,则按 40 小时计周薪(允许有半个工作日的事 / 病假),超出 40 小时部分不计薪

周薪 = 小时工资额 × 40

如果每周的实际工作时数少于 35 小时(不含 35 小时)

周薪 = 小时工资额×实际工作时数 + 0.5 × 小时工资额 × (35 - 实际工作时数 ) 。

编写测试类进行测试。
其中可能用到的名称:
计时工人类HourlyWorker 和 计薪工人类 SalariedWorker。每名工人都具有姓名name、 年龄 age 、 性别sex和 小时工资额pay_per_hour等属性;
周薪计算成员函数 void Compute_pay (double hours ),(其中参数hours为每周的实际工作时数)和用于显示工人的基本信息的toString函数 。

这是我敲的注释最详细的Java代码了,痛哭流涕。
下面附图,并附源码:

代码结构:


结构图

实现代码截图:


代码图

GitHub源码: WorkerTest.java

测试执行结果:


测试结果

GitHub源代码:workersalary

Worker基类:


Worker

时薪工人类:


HourlyWorker

计时工人类:


SalariedWorker

测试类:


WorkerTest

运行截图:


运行截图

相关文章

网友评论

      本文标题:Java面向对象练习:动态多态

      本文链接:https://www.haomeiwen.com/subject/xwmukqtx.html