当前位置: 首页 > news >正文

船山网站建设手机平台软件开发

船山网站建设,手机平台软件开发,广州娱乐场所最新通知,在哪请人做网站【案例4-6】经理与员工工资案例(利用多态实现) 欢迎点赞关注收藏 【案例介绍】 案例描述 某公司的人员分为员工和经理两种,但经理也属于员工中的一种,公司的人员都有自己的姓名和地址,员工和经理都有自己的工号、工…

【案例4-6】经理与员工工资案例(利用多态实现)

欢迎点赞关注收藏

【案例介绍】

  1. 案例描述

某公司的人员分为员工和经理两种,但经理也属于员工中的一种,公司的人员都有自己的姓名和地址,员工和经理都有自己的工号、工资、工龄等属性,但经理不同员工的是,经理有自己在公司对应的级别。假设每次给员工涨工资一次能涨10,经理能涨20%。本案例要求利用多态实现给员工和经理涨工资。

  1. 运行结果

【案例分析】

1)创建父类Person类,在Person类中定义nameaddress属性,并定义该类的构造方法。

2)创建抽象类Employee类并继承Person类,创建构造方法,在构造方法中调用父类的构造方法。在Employee类中定义员工的ID、工资wage、年龄age等属性;在类中定义涨工资的抽象方法add(),通过对职位的判断来给员工或经理涨工资。

3)创建子类Manager类并继承Employee类;创建构造方法,在构造方法中调用父类的构造方法;由于经理有两种身份,既是Employee又是Manager,所以Manager类继承Employee类,在Manager类中定义等级属性level,并给出levelgettersetter方法;实现Employee类的add()抽象方法。

4)创建测试类,对Manager进行实例化,传入参数,调用涨薪方法,传入级别level参数,根据级别level输出涨薪工资。

【案例实现】

Person.java

  1. public class Person {
  2.     private String name = "";
  3.     private String address = "";
  4.     //定义构造方法
  5.     public Person(String name, String address){
  6.         this.name = name;
  7.         this.address = address;     
  8.     }
  9. }

上述代码中,创建了一个父类Person类,在Person类中定义了nameaddress属性以及Person类的构造方法。

Employee.java

  1. public abstract class  Employee extends Person {
  2.     private String ID = "";
  3.     private double wage = 0;
  4.     private int age = 0;
  5.         public Employee(String name, String address, String ID, double
  6.  wage, int age){
  7.         super(name, address);
  8.         this.ID = ID;
  9.         this.wage = wage;
  10.     this.age = age;
  11.     }
  12.    //定义抽象方法
  13.     public abstract void add(String position);
  14.     //设置get/set方法
  15.     public double getWage() {
  16.         return wage;
  17.     }
  18.     public void setWage(double wage) {
  19.         this.wage = wage;
  20.     }
  21. }

上述代码中,创建了一个Employee类并继承了Person类,在Employee类中,定义了Employee类的构造方法,并在构造方法中调用了父类Person的构造方法;定义了员工的namewageage属性并提供了settergetter方法;定义了抽象方法add()

Manager.java

  1. public class Manager extends Employee{
  2.     private String level = "";
  3.     public Manager(String name, String address, String ID, double wage,
  4. int age, String level){
  5.         super(name, address, ID, wage, age);
  6.         this.level = level;
  7.     }
  8.     //实现抽象方法
  9.     public void add(){
  10.         double wage = super.getWage();
  11.         super.setWage(wage*1.1);
  12.     }
  13. public void add(String position){
  14.         double wage = super.getWage();
  15.         super.setWage(wage*1.2);
  16.     }
  17. public String getLevel() {
  18.         return level;
  19.     }
  20. public void setLevel(String level) {
  21.         this.level = level;
  22.     }
  23. }

上述代码中,创建了一个Manager类并继承了Employee类,在Manager类中,定义了Manager类的构造方法,并在构造方法中调用了父类Employee的构造方法;定义了员工的级别level属性并提供了settergetter方法;实现了Employee类的抽象方法add(),并对add()方法进行了重载

Test.java

  1. public class Test {
  2.     public static void main(String[] args) {
  3.         Manager normal = new Manager("wsl", "jit", "12", 1000, 2, "1");
  4.        Manager manager = new Manager("ctl", "jitt", "123", 10000, 10,
  5.         "0");
  6.         normal.add();
  7.         manager.add(manager.getLevel());
  8.         System.out.println("normal wage is:"+normal.getWage());
  9.         System.out.println("manager wage is:"+manager.getWage());
  10.     }
  11. }

上述代码中,创建了一个测试类Test类,在类中对Manager进行了实例化并传参。类中通过调用无参的add()方法来获取普通员工的涨薪,调用有参的add(manager.getLevel())方法来获取经理的涨薪。

http://www.sczhlp.com/news/71860/

相关文章:

  • 做海岛旅游类网站的背景及意义网站头部导航
  • 简单学校网站模板wordpress 登录 缓存
  • 网站开发流程管理河南开封网站建设
  • 北京哪有建网站公司或个人的网站建设协议书是否贴花
  • 建设一个网站需要注意的事项网站开发公司规章制度
  • 长沙市做网站性价比最高网站建设
  • 哪里提供邢台做网站vps云服务器免费
  • 仿土豆网站源码网站开发任务分解
  • 做响应式网站设计师如何布局呢用html制作个人网页
  • 一个域名访问不同的网站kali 搭建wordpress
  • 专业建设验收网站南昌企业建设网站开发
  • 通用网站模板网站备案 信息
  • 青岛市城市建设投标网站wordpress首页广告
  • 河北省住房建设厅网站首页做销售在哪些网站发贴
  • 天眼查公司注册信息seo推广培训中心
  • 网站设计主要包含3个方面个人怎么注册域名
  • 白山市城乡建设局网站seo服务销售招聘
  • 泰安口碑好的网站建设银川网站建设哪家优质
  • Collections
  • 读书笔记:白话解读Oracle嵌套表:像套娃一样存储数据
  • 用 Chainlink Data Feeds 打造“即插即用”的上链数据读取:从价格,到收益率,再到智能数据 - 若
  • 故障分析:常见坏块分类,dbv报错代码:6106
  • 网站免费建站k哈尔滨建站优化定制
  • 如何申请建设个人网站台州永建建设有限公司网站
  • 有啥创意可以做商务网站的长春建站公众号
  • 企业宣传型的网站网络广告推广公司
  • Chainlink预言机学习 - 若
  • 网站建设苏州公司秦皇岛seo服务外包
  • 石家庄外贸网站建设公司排名东莞网站推广团队
  • 自己做的网站某个网页打开很慢网站模版自适应