某公司的雇员分为以下若干类;
某公司的雇员分为以下若干类:
Employee:这是所有员工总的父类,
属性:员工的姓名,员工的生日月份。
方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。
SalariedEmployee:Employee的子类,拿固定工资的员工。
属性:月薪
HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。
属性:每小时的工资、每月工作的小时数
SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定。
属性:月销售额、提成率
BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员,工资由底薪加上销售提成部分。
属性:底薪
写一个程序,把若干各种类型的员工放在一个Employee数组里,写一个方法,打印出某月每个员工的工资数额。
public class Employee {private String name;private int month;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getMonth() {return month;}public void setMonth(int month) {this.month = 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;}else {return 0;}}
SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪
public class SalariedEmployee extends Employee {private double Salarys;public SalariedEmployee() {super();}public SalariedEmployee(String name,int month,double Salarys) {super(name,month);this.Salarys=Salarys;}//发工资public double getSalary(int month) {return this.Salarys + super.getSalary(month);}public double getSalarys() {return Salarys;}public void setSalarys(double salarys) {Salarys = salarys;}}
HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数
public class HourlyEmployee extends Employee{private double hSalary;//时薪private int hours;//小时public void sethSalary(double hSalary) {this.hSalary = hSalary;
}
public int getHours() {return hours;
}
public void setHours(int hours) {this.hours = hours;
}public HourlyEmployee() {super();}public HourlyEmployee(String name,int month,double hSalary,int hours) {super(name,month);this.hSalary=hSalary;this.hours=hours;}public double getSalary(int month) {if(hSalary>=160) {return (hours-160)*1.5+(hSalary*160)+super.getSalary(month);}else {return hSalary*hours+super.getSalary(month);}}
}
SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率
public class SalesEmployee extends Employee{private double sale;//销售额private double rte;//提成率public SalesEmployee() {super();}public SalesEmployee(String name,int month,double sale,double rte) {super(name,month);this.sale = sale;this.rte = rte;}public double getSale() {return sale;}public void setSale(double sale) {this.sale = sale;}public double getRte() {return rte;}public void setRte(double rte) {this.rte = rte;}public double getSalary(int month) {return sale*rte+super.getSalary(month);}
}
BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员,工资由底薪加上销售提成部分。属性:底薪
public class BasePlusSalesEmployee extends SalesEmployee{private double dSalar;//底薪public BasePlusSalesEmployee() {super();}public BasePlusSalesEmployee(String name,int month,double sale,double rte,double dSalar) {super(name,month,sale,rte);this.dSalar = dSalar;}public double getdSalar() {return dSalar;}public void setdSalar(double dSalar) {this.dSalar = dSalar;}public double getSalary(int month) {return dSalar+super.getSalary(month);}}
public class Test {public static void main(String[] args) {SalariedEmployee s1 = new SalariedEmployee("张三",3,9000);HourlyEmployee h1 = new HourlyEmployee("李四",6,20,220);SalesEmployee sa1 = new SalesEmployee("王二",5,600000,0.05);BasePlusSalesEmployee b1 = new BasePlusSalesEmployee("麻子",1,1000000,0.02,1500);Employee[]emp = {s1,h1,sa1,b1};System.out.println("输入查询的工资月份:");Scanner sc = new Scanner(System.in);int month=sc.nextInt();System.out.println("姓名"+"\t"+"生日月份"+"\t"+"当前月份"+"当月工资"+"\t");for (int i = 0; i < emp.length; i++) {System.out.println(emp[i].getName()+"\t"+emp[i].getMonth()+"\t"+month+"\t"+emp[i].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) 根据参数月份来确定工资,如果该 ...
- 某公司的雇员分为以下若干类 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年这种态势 ...
最新文章
- Cacti部署及常用插件安装(2)
- poj 3150 Cellular Automaton(迷糊,但原理是用的快速幂)
- 探究Softmax的替代品:exp(x)的偶次泰勒展开式总是正的
- 【征稿进行时】计算机与智能控制主题征稿,ICCEIC 2020持续征稿中!
- C语言实现静态顺序表
- 超炫酷的 Docker 终端 UI lazydocker,想看哪里点哪里
- 周边pd是什么意思_肿瘤百问百答(六)关于胃癌的PD-1抗体治疗,你应该知道些什么?...
- Windows下Mysql定时备份的实现
- FreeMarker笔记 第二章 数值和类型
- 2019数模美赛规则
- 在线古诗自动生成器的设计与实现
- 5分钟,带你创建一个智能电梯检测器模型
- WordPress强大多功能主题模板The7 v9.16.0 已激活版本完全兼容大多数插件
- (2)颜色渐变及原理
- Blender建模06
- 技术译文 | MySQL 8 需要多大的 innodb_buffer_pool_instances 值(上)
- 100流明相当于多少w_GE的50W卤素灯光通量标明1500流明实际有这么高吗换几W的LED灯较合适...
- c语言双目交换运算符,C语言复习资料
- c++十六进制加法_C/C++知识点之怎样理解八进制和十六进制
- 怎么把字母缩小当符号_电气设计图纸中AL、AW、HAL等各种符号分别代表什么含义?...