java案例4-7 经理与员工工资案例

news/2025/2/3 19:47:52/

案例描述:

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


代码实现

//父类:公司人员类
abstract class person {public String name;     //姓名public String address;  //地址public person(String name, String address){this.name=name;this.address=address;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAddress(String address) {this.address = address;}public String getAddress() {return address;}public void add(){}
}//子类:员工类
class employee extends person {public String id;public double salary;public int age;public employee(String name, String address,String id,double salary,int age) {super(name, address);this.id=id;this.salary =salary;this.age=age;}public String getId() {return id;}public double getSalary() {return salary;}public int getAge() {return age;}public void setId(String id) {this.id = id;}public void setSalary(double salary) {this.salary = salary;}public void setAge(int age) {this.age = age;}public void add(){salary*=1.1;}public String getID() {return id;}
}
//子类:经理类
class manager extends employee{public String rank;public manager(String name, String address, String id, double salary, int age,String rank) {super(name, address, id, salary, age);this.rank=rank;}public String getRank() {return rank;}public void setRank(String rank) {this.rank = rank;}public void add(){salary*=1.2;}}public class Ex4_7 {public static void main(String[] args) {employee worker = new employee("张三", "郑州", "1001", 4000.0, 2);manager manager1 = new manager("李四", "郑州", "1122", 8000.0, 5, "经理");manager manager2 = new manager("王五", "郑州", "1100", 10000.0, 4, "高级经理");print(worker);print(manager1);print(manager2);}public static void print(employee a){System.out.println("----------------------普通员工信息表---------------------");System.out.println("|姓名|\t\t"+"|工号|\t\t"+"|工资|\t\t"+"|工龄|\t\t"+"|地址|");System.out.println(a.getName() + "\t\t\t"+a.getID()+"\t\t"+a.getSalary()+"\t\t "+a.getAge()+"\t\t\t"+a.getAddress());a.add();System.out.println("-------------------------------------------------------");System.out.println("由于"+a.getName()+ "在公司辛勤工作,因此公司决定鼓励,涨薪为:" + a.getSalary());System.out.println();}public static void print(manager a){System.out.println("----------------------经理阶层信息表----------------------------");System.out.println("|姓名|  \t"+"|工号|  \t"+"|职称|  \t"+"|工资|  \t"+"|工龄|  \t"+"|地址|");System.out.println(a.getName() + "   \t"+a.getID()+" \t"+a.getRank()+" \t"+a.getSalary()+"\t "+a.getAge()+"   \t"+a.getAddress());a.add();System.out.println("-------------------------------------------------------------");System.out.println("由于"+a.getName()+ "在公司辛勤工作,因此公司决定鼓励,涨薪为:" + a.getSalary());System.out.println();}
}

运行结果

 


http://www.ppmy.cn/news/535797.html

相关文章

fifa足球经理10java_《FIFA足球经理2010》经理模式详解

当球员在球场上厮杀得不过瘾,想更上一层楼当球队经理,与世界上其他的玩家一较长短吗? 《FIFA足球经理10》让玩家经营全世界超过40队甲级联队,与八位玩家在同一联赛中较量。 游戏中改良的3D介面,超过数百段的全新动画及…

历届国际足联世界足球先生

历届国际足联世界足球先生 年度得主国籍获奖时俱乐部1991年洛塔尔马特乌斯德国国际米兰1992年马尔科范巴斯滕荷兰AC米兰1993年罗伯托巴乔意大利尤文图斯1994年罗马里奥巴西巴塞罗那1995年乔治维阿利比里亚AC米兰1996年罗纳尔多巴西巴塞罗那1997年罗纳尔多巴西国际米兰1998年齐…

球场风云游戏怎样?

球场风云游戏怎样?接下来就讲下这个游戏,下载过的伙伴应该都知道,爱足球的更不能错过这个。 这是一款体育足球类的游戏,球场风云以真实联赛为题材,玩家们需要为自己的俱乐部签约超级球星,以参加不同级别的比…

足球队巡礼 - 英超西汉姆联

我很喜欢足球,更喜欢和足球相关的历史,体育场就是见证历史的重要标志,疫情之前,经常游荡朝圣国内和国外的各大球场,无论是北京工人体育场,还是沈阳五里河体育场,又或是曼彻斯特老特拉福德球场&a…

C++足球比赛总结

题目描述 2022 世界杯马上就要开始了,经过一番激烈角逐,全球 32 支球队获得了出线资格。世界杯的比赛分为两个阶段,分别为小组赛阶段和淘汰赛阶段,在小组赛阶段 32 支球队将分成 8 个小组,每个小组 4 支球队进行循环比…

fm2018 ajax,FM2018妖人推荐攻略_足球经理2018最有潜力妖人名单

这是一个FM2018妖人推荐攻略,足球经理2018妖人名单介绍,给玩家推荐2018作里面各个位置的妖人,便于玩家选择和培养。 守门员(6): Paul Bernardoni (20) Bordeaux Goran Karacic (19) Adanaspor Adrian Semper (19) Dinamo Zagreb Lilo Guarneri (15) Standard Lige Jake Tur…

给项目经理提高情商的4个建议

点击上方关注 “终端研发部” 设为“星标”,和你一起掌握更多数据库知识 有的人可能对自己的情商信心满满,自我感觉良好,然而在实际工作中跟上司和同事之间的关系有一丝微妙。 在校园里只要学习成绩好、专业知识扎实,你就能呼风唤…

6-2. 实战项目:足球运动员分析

足球运动员分析 1. 项目背景 当前,足球运动是最受欢迎的运动之一(也可以说没有之一)。 我们的任务,就是在众多的足球运动员中,发现统计一些关于足球运动员的共性,或某些潜在的规律。也是好玩。 2. 数据…