/* 按以下要求补充代码。
① 定义一个抽象(abstract)类,类名为 Employee。 Employee 的子类有 YearWorker、
MonthWorker 和 WeekWorker。

② YearWorker 对象按年领取薪水 (每年 15 万),MonthWorker 对象按月领取薪水(每月
1 万),WeekWorker 对象按周领取薪水(每周 0.5 万,设定一个月 4 周)。

③ Employee 类有一个抽象方法: public abstract double earnings(); 子类必须重写父类
的 earnings()方法,给出各自领取每年报酬的具体方式。

④ 定义一个 Company 类,该类用 Employee 数组作为成员,Employee 数组元素可以存
储 YearWorker 对象、MonthWorker 对象、WeekWorker 对象。

⑤ 程序能输出 Company 对象一年需要支付的薪水总额。

*/

package 实验六继承和抽象类;
import java.util.Random;
abstract class Employee {public abstract double earnings();}
class YearWorker extends Employee {public double earnings() {return   150000.00;  //重写 earnings()方法}
}class MonthWorker extends Employee {public double earnings() {return  10000*12;   //重写 earnings()方法}
}class WeekWorker extends Employee {public double earnings() {return 5000*4*12; //重写 earnings()方法}
}class Company {Employee[] employees;double salaries = 0;Company(Employee[] employees) {this.employees = employees;
}public double salariesPay() {salaries = 0;for(Employee sum:employees )   salaries+=sum.earnings();//计算 salariesreturn salaries;           //foreach语句和i=0;i<xxx;i++;等价
}
}public class HardWork {public static void main(String[] args) {Employee[] employees = new Employee[20];//随机产生 20 个 YearWorker、MonthWorker 和 WeekWorker 对象赋值给数组for (int i = 0; i < employees.length; i++) {Random flag=new Random();      switch(flag.nextInt(2)) {case 0:employees[i]=new YearWorker();break;              case 1:employees[i]=new MonthWorker();break;case 2:employees[i]=new WeekWorker();}}
Company company = new Company(employees);
System.out.println("公司年工资总额:" + company.salariesPay());
}
}

实验六 继承与抽象类 HardWork相关推荐

  1. 实验六201771010101 白玛次仁

    第五章 继承 总结 实验六 继承定义与使用实验时间 2018-9-28 1.类,超类与子类 继承Employee类来定义Manager类格式,关键字extends表示继承. Class新类名(子类(s ...

  2. C++实验六:继承,对BMP图片操作

    功能介绍: 图片翻转.旋转.剪切.任意缩放.图片相加.图片相减等等 复杂功能解释基本都写在注释中了,对于图片缩放,可谓本次实验之精华(搞人心态) 其次,关于resize函数的重载,应该private掉 ...

  3. 《Java技术》第三次作业--面向对象——继承、抽象类、接口

    1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Grandparen ...

  4. Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态

    <面向对象(Java)实验0继承.接口和多态>由会员分享,可在线阅读,更多相关<面向对象(Java)实验0继承.接口和多态(11页珍藏版)>请在金锄头文库上搜索. 1.电子信息 ...

  5. 13 面向对象-继承与抽象类

    第01天 java面向对象 今日内容介绍  继承  抽象类 第1章 继承 1.1 继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以 ...

  6. JAVA实验6继承与接口,java实验6继承与接口

    少年易学老难成,一寸光阴不可轻- 百度文库 1 山西大学计算机与信息技术学院 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期实验名称实验 6 继承与接口 [实验目的] 1.掌握j ...

  7. 深度学习 实验六 卷积神经网络(1)卷积 torch.nn

    目录 第5章 卷积神经网络 5.1 卷积 5.1.1 二维卷积运算 5.1.2 二维卷积算子 5.1.3 二维卷积的参数量和计算量 5.1.4 感受野 5.1.5 卷积的变种 5.1.5.1 步长(S ...

  8. 笔记整理3----Java语言高级(三)11 综合练习+12 面向对象-static变量 与 代码块+13 面向对象-继承与抽象类+14 面向对象-接口与多态+15 面向对象-包修饰符

    11 综合练习+12 面向对象-static变量 与 代码块+13 面向对象-继承与抽象类+14 面向对象-接口与多态+15 面向对象-包&修饰符 第11天 综合练习 今日内容介绍 综合练习 ...

  9. NNDL 实验六 卷积神经网络(3)LeNet实现MNIST 手动算子部分

    手写体数字识别是计算机视觉中最常用的图像分类任务,让计算机识别出给定图片中的手写体数字(0-9共10个数字).由于手写体风格差异很大,因此手写体数字识别是具有一定难度的任务. 我们采用常用的手写数字识 ...

最新文章

  1. 全能音乐助手序列号_颜控最爱的全能本 惠普星14全能轻薄本深度解析
  2. 12.委托是什么?委托的property声明用什么属性?为什么?
  3. jQuery的核心函数
  4. 视频豪横时代,应用如何快速构建视频点播能力?
  5. 一篇文章看懂@Scheduled定时器/@Async/CompletableFuture
  6. [原創]全面的權限控制方法(功能權限+數據權限+特殊權限(行,列))
  7. 大数据技术原理与应用 第三版 林子雨 期末复习(一)大数据概述 第一章 P2
  8. dos2unix 目录
  9. 根据图片地址上传图片
  10. 使用BS4爬取智联招聘
  11. Linux面试基础知识--汇总
  12. R语言使用Predict函数计算指定连续变量和风险比HR值的关系、基于限制性立方样条分析方法、限制性立方样条cox回归模型
  13. 企业微信发送图片失败
  14. OpenCV中视频操作及人脸识别案例
  15. 你总是喜欢抓不住的东西
  16. Navicat 连接 MySql 报错2059时的解决方法
  17. 给大家分享一款非常漂亮的博客
  18. 雕刻机简单加工G指令生成器
  19. matlab两轮自平衡小车,两轮自平衡小车(全部设计资料+设计分析)
  20. Linux buffer/cache解读

热门文章

  1. 数能低压 1.5A单通道 LED驱动IC芯片 NU405应用电路
  2. 利用python爬取图片并下载到本地
  3. stream benchmark 介绍
  4. 内网代理的系列二:frp(socks5)+Proxifier
  5. 关键词分词工具_打破繁琐,采用智能分词——厚昌网络分词工具2.0版即将正式上线...
  6. [Python3]三子棋游戏!祝大家中国71周年国庆节快乐!
  7. nightwatch系列教程01——Hello Nightwatch
  8. Ajax 跨域难题 - 原生 JS 和 jQuery 的实现对比
  9. 什么是深度学习(Deep Learning)
  10. 网路游侠:又一次简单的社会工程学***