Cola公司的雇员分为以下若干类:(知识点:多态) [必做
题]
• 4.1 ColaEmployee :这是所有员工总的父类,属性:员工的
姓名,员工的生日月份。方法:getSalary(int month) 根据参数
月份来确定工资,如果该月员工过生日,则公司会额外奖励
100 元。
• 4.2 SalariedEmployee : ColaEmployee 的子类,拿固定工
资的员工。属性:月薪
课后作业
• 4.3 HourlyEmployee :ColaEmployee 的子类,按小时拿工
资的员工,每月工作超出160 小时的部分按照1.5 倍工资发
放。属性:每小时的工资、每月工作的小时数
• 4.4 SalesEmployee :ColaEmployee 的子类,销售人员,
工资由月销售额和提成率决定。属性:月销售额、提成率
• 4.5 定义一个类Company,在该类中写一个方法,调用该
方法可以打印出某月某个员工的工资数额,写一个测试类
TestCompany,在main方法,把若干各种类型的员工放在一
个ColaEmployee 数组里,并单元出数组中每个员工当月的
工资。

package gc;

public class ColaEmployee {
protected String name;
protected int month; public ColaEmployee() {
super(); } public ColaEmployee(String name, int month) {
super();
this.name = name;
this.month = 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 double getSalary(int month) {
return 0; }
}
package gc;

public class SalariedEmployee extends ColaEmployee{
double monthSalary; public SalariedEmployee() {
super(); } public SalariedEmployee(String name, int month, double monthSalary) {
super(name, month);
this.monthSalary = monthSalary;
} public double getSalary(int month) {
if (super.getMonth() == month) {
return monthSalary + 100;
} else {
return monthSalary;
}
}
}
package gc;

public class HourlyEmpiloyee extends ColaEmployee{

int hS;
int hN; public HourlyEmpiloyee() {
super(); } public HourlyEmpiloyee(String name, int month, int hS, int hN) {
super(name, month);
this.hS = hS;
this.hN = hN;
} public double getSalary(int month) {
if (super.getMonth() > month) {
if (hN> 160) {
return hS * 160 + hS * (hN - 160) * 1.5 + 100;
} else {
return hS * hN + 100; }
} else {
if (hN > 160) {
return hS * 160 + hS * (hN - 160) * 1.5;
} else {
return hS * hN; }
}
}}
package gc;

public class SalesEmployee extends ColaEmployee{
int monthSales;
double tich; public SalesEmployee() {
super(); } public SalesEmployee(String name, int month, int monthSales, double ticheng) {
super(name, month);
this.monthSales = monthSales;
this.tich = ticheng;
} public double getSalary(int month) {
if (super.getMonth() == month) {
return monthSales * tich + 100;
} else {
return monthSales * tich;
}
} }
package gc;

public class Company {

     public void getSalary(ColaEmployee a, int month) {
System.out.println(a.name + "在" + month + "月的工资为" + a.getSalary(month));
} }
package gc;

public class test {

        public static void main(String[] args) {
// TODO Auto-generated method stub
ColaEmployee[] c = {
new SalariedEmployee("gfh", 4, 2356),
new HourlyEmpiloyee("jug", 2, 10, 450),
new SalesEmployee("grhu", 3, 59874, 0.5)
};
for (int i = 0; i < c.length; i++) {
new Company().getSalary(c[i], 12);
} } }

Java第十五周作业的更多相关文章

  1. g第十四周,十五周作业

    1.数组中偶数的和 #include <stdio.h> int main(){ ; ]; ;i<=;i++) { scanf("%d ",&a[i]); ...

  2. Java ee第五周作业

    Applet: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同. 含有Applet的网页的HTML文件 ...

  3. python第八十四天---十五周作业

    后台管理页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  4. C语言——第十四、十五周作业

    题目 题目一:交换最小值和最大值 1.实验代码 #include<stdio.h> int main() { ; int i , n; int a[N]; int x , y; scanf ...

  5. 20199310《Linux内核原理与分析》第十五周作业 Linux安全实验

    1 补充知识 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭, ...

  6. java第十二周作业

    1.定义一个点类Point, 包含2个成员变量x.y分别表示x和y坐标,2个构造器Point()和Point( intx0,y0),以及一个movePoint (int dx,intdy)方法实现点的 ...

  7. 第十五周博客作业 <西北师范大学| 周安伟>

    第十五周作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求链接https://www.cnblogs.com/nwnu-daizh/p/10946673 ...

  8. 201771010134杨其菊《面向对象程序设计(java)》第十五周学习

    第十五周学习总结 第一部分:理论知识 JAR文件: 应用程序首选项存储: Java Web Start JAR文件: 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar ...

  9. 2017面向对象程序设计(Java)第十五周学习总结

    上周,老师要求同学们自学应用程序部署,并布置了相关的实验任务.此次实验的目的是掌握Java应用程序的打包操作:了解应用程序存储配置信息的两种方法: 了解Applet小应用程序的开发及应用方法:掌握基于 ...

随机推荐

  1. Java中对文件的处理01-递归删除

    package com.ricoh.rapp.ezcx.admintoolweb.util; import java.io.BufferedInputStream; import java.io.Bu ...

  2. CVE-2014-3120 (命令执行漏洞)

    环境配置 vulhub环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 启动docker环境 cd vulhub-mast ...

  3. P5018 [NOIP2018 普及组] 对称二叉树

    P5018 [NOIP2018 普及组] 对称二叉树 题目 P5018 思路 通过hash值来判断左右树是否相等 \(hl[i]\) 与 \(Hl[i]\) 是防止hash冲突, \(r\) 同理 注 ...

  4. Basler acA1300-200uc相机使用教程

    https://www.baslerweb.com/cn/products/cameras/area-scan-cameras/ace/aca1300-200uc/ 开发文档 https://zh.d ...

  5. 服务注册和发现是什么意思?Spring Cloud 如何实现?

    当我们开始一个项目时,我们通常在属性文件中进行所有的配置.随着越来越多的服务开发和部署,添加和修改这些属性变得更加复杂.有些服务可能会下降,而某些位置可能会发生变化.手动更改属性可能会产生问题.Eur ...

  6. 我们可以在 hashcode() 中使用随机数字吗?

    不行,因为对象的 hashcode 值必须是相同的.参见答案获取更多关于 Java 中 重写 hashCode() 方法的知识.

  7. pandas学习总结

    什么是pandas pandas数据读取 03. Pandas数据结构 Pandas查询数据的几种方法

  8. 每天坚持一个CSS——社会人

    每天一个CSS-社会人 实现效果 想法 之前看到一篇博客,使用python绘制出了小猪佩奇,所以自己想试一试,采用纯html + CSS绘制出低配版的小猪佩奇. 实现思路 使用上一篇,圆与边框实现.最 ...

  9. 程序人生:织梦dedecms后台/会员验证码关闭

    dedecms默认是所有的功能几乎只要用到验证码的地方我们都需要验证的,如果要关闭一些验证功能我们可以参考下面的教程,这里介绍了关闭后台,留言板,会员系统等验证码功能关闭了.提示:支持DedeCMS ...

  10. 夏日葵电商:连锁零售店小程序o2o系统解决方案

    公众平台"附近小程序"功能上线后,一个主体账号可以同时绑定N+个门店,这对连锁零售店铺来说是重磅福利呀,无论你是通过搜索还是线下扫码进入小程序,线上与线下都完全贯通了,线上多种入口 ...