java-面向对象中级-习题(通过继承实现员工工资核算打印功能 )
通过继承实现员工工资核算打印功能
父类:员工类
子类:部门经理类、普通员工类
(1)部门经理工资=1000+单日工资*天数*等级(1.2)。=>奖金+基本工资(2)普通员工工资=单日工资*天数*等级(1.0);=>基本工资
(3) 员工属性:姓名,单日工资,工作天数(4)员工方法(打印工资)
(5)普遍员工及部门经理都是员工子类,需要重写打印工资方法。
(5)定义并初始化普通员工对象,调用打印工资方法输出工资,定义并初始化部门经理对象,调用打印工资方法输出工资
Homeworkmain class
package com.hspedu.homework;public class Homework {public static void main(String[] args) {Manager manager = new Manager("刘备", 100, 20, 1.2);//设置奖金manager.setBonus(3000);//打印经理的工资情况manager.printSal();Worker worker = new Worker("关羽", 80, 100, 1.0);worker.printSal();}
}
Employee parent class
package com.hspedu.homework;public class Employee {//属性private String name;private double daySal;private int workDays;private double grade;//方法[构造器]//打印工资的方法public void printSal(){System.out.println(name + " 工资=" + daySal * workDays * grade);}public 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;}
}
Manager subclass
package com.hspedu.homework;public class Manager extends Employee{//特有的属性private double bonus;//奖金通过set方法设置public Manager(String name, double daySal, int workDays, double grade) {super(name, daySal, workDays, grade);}public double getBonus() {return bonus;}public void setBonus(double bonus) {this.bonus = bonus;}//重写工资打印方法@Overridepublic void printSal() {//重写经理的工资计算方式System.out.println("经理 " + getName() + " 工资是=" + (bonus +getDaySal() * getWorkDays() * getGrade()));}
}
Worker subclass
package com.hspedu.homework;public class Worker extends Employee{//普通员工没有特有的属性public Worker(String name, double daySal, int workDays, double grade) {super(name, daySal, workDays, grade);}//重写printSal@Overridepublic void printSal() {System.out.print("普通员工 ");super.printSal();}
}
java-面向对象中级-习题(通过继承实现员工工资核算打印功能 )相关推荐
- 【java面向对象题型练习】——通过继承实现员工工资核算打印功能
题目要求 通过继承实现员工工资核算打印功能 父类:员工类( Employee ) 子类:部门经理类( Manager ).普通员工类(Worker) (1)部门经理工资=1000+单日工资*天数* ...
- JAVA练习(继承,this,super)——员工工资核算打印
需求描述: 通过继承实现员工工资核算打印功能. 父类:员工类.(10分) 子类:部门经理类.普通员工类(10分) 部门经理工资=1000+单日工资*天数*等级(1.2).(10分) 普通员工工资=单日 ...
- java面向对象程序设计 习题答案_Java面向对象程序设计习题解答与实验 张桂珠.pdf...
Java 面 向对 象 程 序 设 计 习题 解 答 与 实验 张桂珠 姚晓峰 陈爱国 主编 北 京 邮 电 大 学 出 版 社 ·北 京· 内 容 简 介 Java 面向对象程序设计需要做大量的练习 ...
- [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍
参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中 方法外 调 ...
- Java面向对象三大特性(封装继承多态)解释及案例
文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...
- Java面向对象(二、继承)
Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法 ...
- Java面向对象(2) —— 继承
目录 前言 继承的概念和实现 extends关键字 super关键字 继承过来的属性和方法的权限研究 方法重写Override Object根类常见方法 toString() 常把toString() ...
- extend implements多个对象_「每天三分钟跟我学Java」之Java面向对象的封装、继承、多态...
Java是面向对象的语言,深入理解面向对象的概念,对Java的开发至关重要.本节我们着重看下面向对象的三大特性,封装.继承.多态. 一.封装 封装是将类的某些信息隐藏在类内部,不允许外部程序直接访问, ...
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
最新文章
- java实现鼠标宏编程_我應該如何編程高級java遊戲中的鼠標/鍵輸入?
- 006_Buzz属性和组
- encodeURIComponent的用法
- C++ Primer 5th笔记(chap 16 模板和泛型编程)定义
- 0116互联网新闻 | “DaDa英语”近日完成2.55亿美元D轮融资;腾讯推今年首个手游“闹闹天宫”...
- 关于JS获取select值的两种实现方法
- linux平台C++开发基本知识
- 算法提高 数的划分 动态规划 无序
- 工业富联灯塔工厂白皮书:智能制造里程碑.pdf(附下载链接)
- 大学计算机应用基础模拟试题,《大学计算机应用基础》模拟试题.doc
- python结束多线程_如何中断/停止/结束挂起的多线程python程序
- python程序结构有哪几种_Python程序3种控制结构的由来
- java 加载imageview_如何在Android中通过URL加载ImageView? [关闭]
- 中缀表达式 转 前缀表达式
- MarkMan – 马克鳗 IU好伙伴啊
- echarts 水滴图 去掉波浪阴影
- 从现在开始学 Kafka:SpringBoot 集成 Kafka,生产者与消费者示例
- 人工智能助力危化品企业生产安全
- Python办公自动化:制作报表并发送到邮箱
- 数字孪生医院的智能化运营平台建设内容
热门文章
- 多云转晴:Databend 的天空计算之路
- android多行文字正中间显示,Android自定义View五(绘制文本大小、多行多列居中)...
- Armv8-A虚拟化手册(5)
- 知识库系统源代码——信息新增、编辑以及展示源码
- 基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]
- TLE4943C/CH505C轮速传感器芯片的输出协议介绍
- wmv格式怎么转换成mp4?
- 腾讯 Tars 基础框架手动搭建——填掉官方 Guide 的坑
- 0基础学java培训_零基础可以学习java课程么?零基础java培训需要多久?
- 数字电子技术实验作业(1)