题目要求

通过继承实现员工工资核算打印功能
 父类:员工类( Employee )
子类:部门经理类( Manager )、普通员工类(Worker)
 (1)部门经理工资=1000+单日工资*天数*等级(1.2)。 =>奖金+基本工资(2)普通员工工资=单日工资*天数*等级(1.0)  =>基本工资
 (3)员工属性:姓名,单日工资,工作天数
 (4)员工方法(打印工资)
(5) 普通员工及部门经理都是员工子类,需要重写打印工资方法。
(6)定义并初始化普通员工对象,调用打印工资方法输出工资,定义并初始化部门经理对象,调用打印工资方法输出工资

代码

Employee类

/*** 通过继承实现员工工资核算打印功能* 父类:员工类( Employee )* 子类:部门经理类( Manager )、普通员工类(Worker)* (1)部门经理工资=1000+单日工资*天数*等级(1.2)。 =>奖金+基本工资* 2) 普通员工工资=单日工资*天数*等级(1.0)  =>基本工资* (3)员工属性:姓名,单日工资,工作天数* (4)员工方法(打印工资)* (5) 普通员工及部门经理都是员工子类,需要重写打印工资方法。* (5)定义并初始化普通员工对象,调用打印工资方法输出工资,定义并初始化部门经理对象,调用打印工资方法输出工资*/
public class Employee {//属性private String name;private double daysal;private int workDays;private double grade;//方法 构造器 getter和setterpublic Employee(String name, double daysal, int workDays, double grade) {this.name = name;this.daysal = daysal;this.workDays = workDays;this.grade = grade;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getDaysal() {return daysal;}public void setDaysal(double daysal) {this.daysal = daysal;}public int getWorkDays() {return workDays;}public void setWorkDays(int workDays) {this.workDays = workDays;}public double getGrade() {return grade;}public void setGrade(double grade) {this.grade = grade;}// 方法 打印工资public void printSal() {System.out.println(name + " 工资=" + daysal * workDays * grade);}
}

Manager类

public class Manager extends Employee {//特有属性 奖金private double bouns;// 创建Manager 对象时 奖金多少不确定的 所以在构造器中不给bonus//通过setBonus 给奖金public Manager(String name, double daysal, int workDays, double grade) {super(name, daysal, workDays, grade);}public double getBouns() {return bouns;}public void setBouns(double bouns) {this.bouns = bouns;}//重写父类的打印工资方法@Overridepublic void printSal() {//因为经理的工资和父类不一样 所以重写System.out.println("经理 " + getName() + " 工资="+ (bouns + getDaysal() * getWorkDays() * getGrade()));}
}

Worker类

public class Worker extends Employee{public Worker(String name, double salary, int day, double grade) {super(name, salary, day, grade);}//重写printSal//因为普通员工 和父类的工资输出情况一样所以自己调用父类的printSal()@Overridepublic void printSal() {System.out.print("普通员工 ");super.printSal();}
}

测试类

public class test { public static void main(String[] args) {Manager manage = new Manager("刘备",300,30,1.2);//设置一个奖金manage.setBouns(3000);//打印经理的工资情况manage.printSal();Worker worker = new Worker("张飞",100,30,1.0);worker.printSal();}
}

【java面向对象题型练习】——通过继承实现员工工资核算打印功能相关推荐

  1. java-面向对象中级-习题(通过继承实现员工工资核算打印功能 )

    通过继承实现员工工资核算打印功能 父类:员工类 子类:部门经理类.普通员工类 (1)部门经理工资=1000+单日工资*天数*等级(1.2).=>奖金+基本工资(2)普通员工工资=单日工资*天数* ...

  2. JAVA练习(继承,this,super)——员工工资核算打印

    需求描述: 通过继承实现员工工资核算打印功能. 父类:员工类.(10分) 子类:部门经理类.普通员工类(10分) 部门经理工资=1000+单日工资*天数*等级(1.2).(10分) 普通员工工资=单日 ...

  3. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  4. Java面向对象三大特性(封装继承多态)解释及案例

    文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...

  5. Java面向对象(二、继承)

    Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法 ...

  6. Java面向对象(2) —— 继承

    目录 前言 继承的概念和实现 extends关键字 super关键字 继承过来的属性和方法的权限研究 方法重写Override Object根类常见方法 toString() 常把toString() ...

  7. extend implements多个对象_「每天三分钟跟我学Java」之Java面向对象的封装、继承、多态...

    Java是面向对象的语言,深入理解面向对象的概念,对Java的开发至关重要.本节我们着重看下面向对象的三大特性,封装.继承.多态. 一.封装 封装是将类的某些信息隐藏在类内部,不允许外部程序直接访问, ...

  8. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  9. ❤️什么是Java 面向对象《装、继承、多态、抽象》?建议收藏)❤️

    Java 面向对象(详解) 一.面向对象 (1).面向对象编程(Object-Oriented Programming,OOP) (2).面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装 ...

最新文章

  1. pytorch CUDA driver version is insufficient for CUDA runtime version解决
  2. 在IntelliJ IDEA中使用git
  3. 浅谈ORACLE AWR single instance 一
  4. 第三次学JAVA再学不好就吃翔(part69)--System类
  5. 同事用void把我给秀翻了!
  6. 最囧的国庆,是一种怎样的体验?
  7. Swagger自动接口文档生成框架————springboot整合swagger总结
  8. 终于有人把大数据架构讲明白了
  9. selenium-行为链-ActionChains-0223
  10. 2.Elasticsearch插件推荐及安装
  11. 2021年中国云入侵检测与防范市场趋势报告、技术动态创新及2027年市场预测
  12. JS中三个点(...)是什么鬼?
  13. c语言如何统计不同分数段学生人数,excel中如何统计不同班级各个分数段的学生人数...
  14. 10GBASE-T SFP+电口模块知识百科
  15. 86. 闭锁 CountDownLatch
  16. 可移植到51单片机_T9拼音输入法
  17. 为什么团队执行力差,管理者应该如何解决?
  18. 递推算法题:王小二刀工之王小二切大饼
  19. 简单20行python代码_用 20 行 python 代码实现人脸识别!Python实现就是这么简单!...
  20. java .long.math.sgn_Java的数值类型转换

热门文章

  1. 全球及中国光耦-逻辑输出模块行业规划方向与前景趋势展望报告2021-2027年版
  2. android切环境插件,Android Studio 2.0 - 插件太旧,请更新到更新版本,或设置ANDROID_DAILY_OVERRIDE环境变量...
  3. php+access实现limit查询
  4. matlab计算积分负无穷到正无穷,无穷限积分的Matlab实现(转)
  5. 李克平教授讲座——《城市道路交叉口规划规范》解读与绿灯间隔问题分析
  6. 商务通用述职报告PPT模板
  7. 使用NotificationCompat兼容包来处理消息通知
  8. tfcenter主动提供映射服务(需要密钥匹配使用)
  9. 在多标签分类中,准备mulan开源软件所需要的.arff和.xml数据的方法
  10. 关于SHOPEX及ECSHOP哪个好