*```java

标题一个公司通常都会存在着不同职位,而不同的职位计算工资的方法也是不相同的。工资可能是固定不变的,也可能是根据销售额或工作量来计算。

假设公司有三种职务:经理、计件工人和计时工人:他们的工资组成分别为:

经理的工资=基本工资+奖金

计件工人的工资=基本工资+产品数量每件的报酬 计时工人的工资=基本工资+工作时间每小时报酬 要求:

1.新建抽象类Salary,有姓名、工号、职位、工资四个属性,类中有构造方法,抽象方法 earning()(作用为计算工资),非抽象方法 setSalary()(修改基本工资),printSalary()方法:打印输出工号、姓名、职位及工资

2.新建终结类Boss继承Salary类,有自己的属性 prize(奖金),构造方法,重写earning()方法,计算经理的工资;增加修改奖金方法set()

3.新建终结类PieceWorker继承Salary类,有自己的属性num(件数)、wagePer(每件的报酬),构造方法,重写earning()方法,计算计件制工人的工资;增加set()方法,作用为设置件数;重载set()方法,设置每件报酬。

4.新建终结类HourWorker,要求与上类似

5.新建测试类SalaryCalDemo,创建上述类的实例并初始化。通过调用set方法,修改相关数据。最终输出三种职务的工资*

abstract class Salary {String name;String id;String status;int salary;public Salary(String name,String id,String status,int salary){this.name =name;this.id =id;this.status=status;this.salary=salary;}public Salary() {}public void setSalary(){this.salary=salary;}abstract void earning();public int getSalary(){return salary;}public String toString() {return "工号:"+id+"\n"+"姓名:"+name+"\n"+"职位:"+status+"\n"+"工资:"+salary;}public int printSalary(){return salary;}
}final class Boss extends Salary{int prize;public Boss(){}public Boss(String name,String id,String status,int salary,int prize){super(name,id,status,salary);this.prize=prize;}public int getPrize(){return prize;}public void earning(){salary = getSalary() + getPrize();System.out.println("经理的工资为:"+salary);}public void setPrize(int prize){this.prize=prize;}
}final class PreceWorker extends Salary{int num,wagePer;public PreceWorker(){}public PreceWorker(String name,String id,String status,int salary,int num,int wagePer){super(name,id,status,salary);this.num=num;this.wagePer=wagePer;}public int getNum(){return num;}public void setNum(int num){this.num=num;}public int getWagePer(){return wagePer;}public void setWagePer(int wagePer){this.wagePer=wagePer;}public void earning(){salary=getSalary()+(getWagePer()*getNum())*30;System.out.println("计件工人的工资为:"+salary);}
}final class HourWorker extends Salary{int hour,money;public HourWorker(){}public HourWorker(String name,String id,String status,int salary,int hour,int money){super(name,id,status,salary);this.hour=hour;this.money=money;}public int getHour() {return hour;}public void setHour(int hour){this.hour=hour;}public int getMoney(){return money;}public void setMoney(int money){this.money=money;}public void earning(){salary=getSalary()+(getHour()*getMoney())*30;System.out.println("计时工人的工资是:"+salary);}
}public class SalaryCalDemo{public static void main(String[] args) {Salary salary= new Boss();salary.name="陆";salary.id="666";salary.status="所长";salary.salary=10000;System.out.println(salary);Boss boss =new Boss("陆","666","所长",10000,5000);boss.earning();PreceWorker preceWorker=new PreceWorker("陆","666","所长",10000,100,1);preceWorker.earning();HourWorker hourWorker=new HourWorker("陆","666","所长",10000,10,10);hourWorker.earning();}
}

一个公司存在不同职位,不同职位计算工资的方法也不相同。工资可能是固定的,也可能根据销售额或工作量来计算。假设公司有三种职务:经理、计件工人和计时工人:他们的工资组成分别为:相关推荐

  1. php用script判断闰年,php判断/计算闰年的方法小结【三种方法】

    本文实例讲述了php判断/计算闰年的方法.分享给大家供大家参考,具体如下: 1.php闰年计算方法一: ①.普通年能被4整除而不能被100整除的为闰年.(如2004年就是闰年,1900年不是闰年) ② ...

  2. 五十八、Vue中的计算属性,方法和侦听器

    @Author:Runsen @Date:2020/10/15 本篇是水篇,记录前端的学习,争取早日拿到前端offer 计算属性,方法和侦听器 所以,对于任何复杂逻辑,你都应当使用计算属性.(官方原话 ...

  3. boost::gil模块沿 x 轴计算梯度的方法的示例

    boost::gil模块沿 x 轴计算梯度的方法的示例 实现功能 C++实现代码 实现功能 boost::gil模块沿 x 轴计算梯度的方法的示例 C++实现代码 #include <boost ...

  4. 2.创建多个Worker 类,存储在List 集合中。3.打印输出所有的工人信息。4.计算所有工人的平均工资。5打印输出姓名中包含 “胡“ 的所有工人信息。6打印输出所有姓 “胡“ 的工人信息。

    import java.util.*; import java.util.function.Consumer; import java.util.Objects;public class Test7 ...

  5. cfo是什么职位么职位(cfo是什么职位么职位是什么职位)

    cfo是什么职位 cfo:首席财务官. 首席财务官--CFO(Chief Financial Officer)是企业治理结构发展到一个新阶段的必然产物.没有首席财务官的治理结构不是现代意义上完善的治理 ...

  6. pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动计数个数(rolling count)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额计数个数

    pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动计数个数(rolling count).例如,计算某公司的多个店铺每N天(5天)的滚动销售额计数个数 目录

  7. pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动加和(rolling sum)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额加和

    pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动加和(rolling sum).例如,计算某公司的多个店铺每N天(5天)的滚动销售额加和 目录

  8. Java黑皮书课后题第6章:*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用下面的方法体编写一个计算税款的方法。使用这个方法编写程序,打印可征税人从50000到60000间隔

    *6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序.使用下面的方法体编写一个计算税款的方法.使用这个方法编写程序 题目 题目描述 破题 程序清单3-5(非本题):代码不全 补充代码:编 ...

  9. 编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法

    编写一个抽象类Shape,声明计算图形面积的抽象方法.再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法 ...

最新文章

  1. Sobel 边缘实现
  2. PYDay6- 内置函数、验证码、文件操作、发送邮件函数
  3. python面试常见问题-常见Python面试题
  4. MMKV集成与原理,轻松拿下offer
  5. 第三十八期:如何在Windows 10上使用Windows Update目录驱动程序安装打印机
  6. ruby中正则表达式最小匹配与最大匹配
  7. 迷宫问题c语言报告,c语言写的迷宫问题
  8. fiddler如何显示IP地址栏?
  9. 算不算被虚度的这几年
  10. python cmdb_python相关cmdb系统
  11. 百度编辑器ueditor获取不到内容?请把form放在table等其他元素最外面
  12. css border-image 图片边框
  13. 树莓派_配置邮件客户端
  14. 如何解决CC2640用IAR下载固件出现Fatal error: Failed to load the CPU core driver Session aborted的问题
  15. matlab中条件数无穷大报错,matlab求条件数
  16. 名悦集团:对于自动挡初学者有哪些驾驶技巧
  17. Generic Timer Module (GTM)
  18. 转贴–人生的职业规划:让自己变得重要
  19. mysql aarch64_aarch64华为鲲鹏服务器安装Mysql5.7
  20. 一个人颓废的九大根源

热门文章

  1. Java面试题及答案整理-肝天-肝帝-干面试管~
  2. 解决精灵标注助手暂不支持导入pascal文件
  3. 再次上演兄弟相煎,vivo再次超越OPPO在国内手机市场称王
  4. Linux强制退出当前执行命令
  5. 正雅齿科运用新数字技术为正畸行业开辟新空间
  6. 骁龙AR2平台解析:分布式架构开启轻量化AR眼镜新时代
  7. 2013年10月22日、|充实自己|看书看到恶心看教学视频看到吐|也许旷几次课也是值得的
  8. 使用webrtc开发直播系统源码,开发音视频语聊房
  9. Terramaster铁威马 F4-422真机实测预告 3000元级万兆4盘位NAS
  10. OpenGL 实验一 绘制简单图形