某公司的雇员分为以下若干类
编程:某公司的雇员分为以下若干类:
(1) Employee:这是所有员工总的父类。
① 属性:员工的姓名,员工的生日月份
② 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会
额外奖励 100 元。
(2) SalariedEmployee:Employee 的子类,拿固定工资的员工。
① 属性:月薪。
(3) HourlyEmployee:Employee 的子类,按小时拿工资的员工,每月工作超出 160 小时的部分
按照 1.5 倍工资发放。
① 属性:每小时的工资、每月工作的小时数。
(4) SalesEmployee:Employee 的子类,销售,工资由月销售额和提成率决定。
① 属性:月销售额、提成率。
(5) BasePlusSalesEmployee:SalesEmployee 的子类,有固定底薪的销售人员,工资由底薪加
上销售提成部分。
① 属性:底薪。
要求:
(1) 创建 SalariedEmployee、HourlyEmployee、SaleEmployee、BasePlusSalesEmployee
四个类的对象各一个
(2) 并调用父类 getSalary(int money)方法计算某个月这四个对象各自的工资
注意:要求把每个类都做成完全封装,不允许非私有化属性。
package com.wyh;public class TestWork26 {public static void main(String[] args) {SalariedEmployee salariedEmployee = new SalariedEmployee("马化腾", 2, 10000);System.out.println("小马哥:" + salariedEmployee.getSalary(1));System.out.println("小马哥生日:" + salariedEmployee.getSalary(2));HourlyEmployee hourlyEmployee = new HourlyEmployee("马云", 3, 200, 172);System.out.println("杰克马:" + hourlyEmployee.getSalary(2));System.out.println("杰克马生日:" + hourlyEmployee.getSalary(3));SalesEmployee salesEmployee = new SalesEmployee("雷军", 4, 100000, 0.3);System.out.println("OK哥:" + salesEmployee.getSalary(3));System.out.println("OK哥生日:" + salesEmployee.getSalary(4));BasePlusSalesEmployee basePlusSalesEmployee = new BasePlusSalesEmployee("刘强东", 5, 20000, 0.03, 5000);System.out.println("东哥:" + basePlusSalesEmployee.getSalary(4));System.out.println("东哥生日:" + basePlusSalesEmployee.getSalary(5));}
}class Employee {private String name;private int month;public Employee() {}public Employee(String name, int month) {this.name = name;this.month = month;}public double getSalary(int month) {if (this.month == month)return 100;return 0;}
}class SalariedEmployee extends Employee {private double salary; //月薪public SalariedEmployee() {}public SalariedEmployee(String name, int month, double salary) {super(name, month);this.salary = salary;}public double getSalary(int month) {return salary + super.getSalary(month);}
}class HourlyEmployee extends Employee {private double hourlySalary; // 时薪private int hours; //每月工作小时数public HourlyEmployee() {}public HourlyEmployee(String name, int month, double hourlySalary, int hours) {super(name, month);this.hourlySalary = hourlySalary;this.hours = hours;}public double getSalary(int month) {if (hours > 160){return hourlySalary * 160 + 1.5 * hourlySalary * (hours - 160) + super.getSalary(month);}return hourlySalary * hours + super.getSalary(month);}
}class SalesEmployee extends Employee {private double sales; //月销售额private double rate; //提成率public SalesEmployee() {}public SalesEmployee(String name, int month, double sales, double rate) {super(name, month);this.sales = sales;this.rate = rate;}public double getSalary(int month) {return sales * rate + super.getSalary(month);}
}class BasePlusSalesEmployee extends SalesEmployee {private double basicSalary; //底薪public BasePlusSalesEmployee() {}public BasePlusSalesEmployee(String name, int month, double sales, double rate, double basicSalary) {super(name, month, sales, rate);this.basicSalary = basicSalary;}public double getSalary(int month) {return basicSalary + super.getSalary(month);}
}
运行结果:
某公司的雇员分为以下若干类相关推荐
- 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类, 属性: 员工的姓名,员工的生日月份。 方法:getSalary(
代码 /*某公司的雇员分为以下若干类:Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:getSalary(intmonth)根据参数月份来确定工资,如果该月员工过生日, ...
- Cola公司的雇员分为以下若干类:(知识点:多态) 4.1 ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工 的生日月份。方法:getSalary(int month) 根据
Cola公司的雇员分为以下若干类:(知识点:多态) 4.1 ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工 的生日月份.方法:getSalary(int month) 根据参 ...
- 某公司的雇员分为以下若干类:
某公司的雇员分为以下若干类: Employee: 这是所有员工总的父类, 属性:员工的姓名,员工的生日月份. 方法:getSalary(int month) 根据参数月份来确定工资,如果该 ...
- 某公司的雇员分为以下若干类;
某公司的雇员分为以下若干类: Employee:这是所有员工总的父类, 属性:员工的姓名,员工的生日月份. 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日, ...
- 某公司的雇员分为以下若干类 7-12
题目:某公司的雇员分为以下若干类写一个程序,把若干各种类型的员工放在一个Employee数组里,写一个方法,打印出某月每个员工的工资数额. 注意:要求把每个类都封装,不允许非私有化属性. Employ ...
- # 封装,抽象类,继承,重写java编程题 问题描述 ``` 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。 方法:getSalary(int
封装,抽象类,继承,重写java编程题 问题描述 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份. 方法:getSalary(int month ...
- java编程---某公司的雇员分为以下若干类:Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(intmonth)根据参数月份来确定工资。
题目: 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类, 属性: 员工的姓名,员工的生日月份. 方法:getSalary(intmonth) 根据参数月份来确定工资,如果该月员工 ...
- 某公司员工分为若干类
某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份. 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则 ...
- 四边形可以分为几类_大件物流有哪些公司?大件物流公司的业务可以分为哪几类...
随着电商市场规模不断扩张,货运渠道,物流公司需求尤为明显,大件物流公司为满足市场需求,大件物流服务需求更是大幅增加,吸引了不少快运企业开始进行竞争.接下来我们就来聊聊大件物流有哪些公司?大件物流行业趋 ...
- 电子计算机系统可以分为几类,电子计算机分为两大类.doc
文档介绍: 第一章电子计算机分为两大类:电子模拟计算机 电子数字计算机通用计算机可分为超级计算机大型机服务器工作站微型机和单片机六类1965年摩尔观察到芯片上的晶体管数量每年翻一番,1970年这种态势 ...
最新文章
- JavaScript正则表达式在线测试工具
- CSP认证201512-2	消除类游戏[C++题解]:模拟
- Linux kernel crypto的介绍
- Spring Boot 2 + Redis 对象缓存
- uml活动图 各个功能的操作流程和分支_UML学习系列教程08------九大基本图05---活动图(Activity Diagram)(重点理解和流程图的区别)...
- 【elasticsearch】elasticsearch 批量查询之mget
- Android开机优化
- 万年历,阴阳历转换。
- 手把手带你了解Spark作业“体检报告” --Spark UI
- 【原创】ubuntu下收听香港电台和其他电台
- Blender 置换生成地形模型
- 计算机专业学微积分有什么用,学微积分有什么用啊?
- 陈潇冰 react权威指南_React中条带化付款的分步指南
- 亮点在后面,完整得恐怖!(转自豆瓣)
- eclipse luna java 版本_eclipse luna使用jdk1.8初始化
- Python 金融数据分析_8_Python基础(2)
- nginx php permanent,Nginx permanent重定向参数问题
- ‘见附件/附件’怎么用英语说?
- ASEMI整流桥ABS10、ABS210、DB107S详细参数对比
- SAP云产品部署方式及定价模型
热门文章
- mysql grant教程_MySQL的Grant命令详解
- iOS UI 自动化测试原理以及在 Trip.com 的应用实践
- 使用ps修改图片大小不影响清晰度的方法
- 牛客网华为机试在线训练JavaScript版解答
- 关于大学生睡眠时间及质量的问卷调查
- matlab运行后没反映,matlab运行这个程序没有反应,也不报错,是什么原因?
- 在spyder怎么升级_怎么更新spyder?
- 内存超频时序怎么调_超频技术之内存“时序”重要参数设置解说
- IPV4地址详细解释
- 如何在word中找到标准偏差σ、α、β、δ等数学公式符号和物理公式符号