Day_08【面向对象】扩展案例1_测试项目经理类和程序员类
2024-10-09 02:29:52
分析以下需求,并用代码实现:
1.定义项目经理类
属性:
姓名 工号 工资 奖金
行为:
工作work 2.定义程序员类
属性:
姓名 工号 工资
行为:
工作work
要求: 向上抽取一个父类,让这两个类都继承这个父类,共有的属性写在父类中,子类重写父类中的方法
编写测试类: 完成这两个类的测试
分析:
项目经理类:姓名,工号,工资,奖金,工作work(){}
程序员类:姓名,工号,工资,工作work(){} 抽象雇员(employee)类:
姓名,工号,工资,工作work();
*/
package com.itheima3;
//抽象雇员(employee)类:
//姓名,工号,工资,工作work();
public abstract class Employee {
private String name;
private String ID;
private double salary;
public Employee() {}
public Employee(String name,String ID,double salary) {
this.name = name;
this.ID = ID;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getID() {
return ID;
}
public void setID(String iD) {
ID = iD;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public abstract void work();
package com.itheima3;
//项目管理类
public class Manager extends Employee{
private double bonus;
public Manager() {}
public Manager(String name,String ID,double salary,double bonus) {
super(name,ID,salary);
this.bonus = bonus;
}
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
@Override
public void work() {
System.out.println("项目经理要擅于管理");
}
}
package com.itheima3;
public class Programmer extends Employee{
public Programmer() {}
public Programmer(String name,String ID,double salary) {
super(name,ID,salary);
}
@Override
public void work() {
System.out.println("程序员要努力写代码");
}
}
package com.itheima3;
public class Test {
public static void main(String[] args) {
Manager m = new Manager("老王","001",30000,8000);
System.out.println(m.getName()+"---"+m.getID()+"---"+m.getSalary()+"---"+m.getBonus());
m.work();
System.out.println("--------------------------------");
Programmer p = new Programmer("小李","002",15000);
System.out.println(p.getName()+"---"+p.getID()+"---"+p.getSalary());
p.work();
}
}
控制台输出结果
最新文章
- mysql求最大第二,最大第三个数
- 如何让WEBAPI 能够进行跨越访问
- 增大VM下linux的根目录空间
- [mybatis] mybatis错误:Invalid bound statement (not found)
- Mac 平台下功能强大的Shimo软件使用指南
- windows xp 安装mysql5.6.17-ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password
- Java为什么只能单继承?
- Android 解决ListView中每一项与button冲突
- cojs 西瓜 解题报告
- C#传值
- 这才是正确删除 office 的方式
- 学习pthreads,给线程传递多个參数
- SAP ABAP规划 使用LOOP READ TABLE该方法取代双LOOP内部表的方法
- 从实战出发,谈谈 nginx 信号集
- Codeforces 375B Maximum Submatrix 2 (DP)
- Ubuntu网络不通解决办法
- 最全面的DialogFragment的使用,实现DialogFragment全屏、背景透明;
- 通过修改Tomcat配置,解决乱码问题
- Flex 得到一个对象的所有属性
- 让 markdown 生成带目录的 html 文件
热门文章
- 精彩的jquery弹幕效果
- Web三维编程入门总结之三:3D碰撞检测初探
- 「日常开发」记一次因使用Date引起的线上BUG处理
- python os模块判断文件是否存在
- java 容器(collection)--ArrayList 常用方法分析 源码分析
- thinkphp5.1+layui2.x 时间戳转换为日期格式
- numpy库的学习笔记
- Java5-7作业总结(第八次作业)19201421-吴志越
- 即将进行论文答辩的我发现MyEclipse 2016 激活过期害得我又一次把 MyEclipse 2016 给重新激活注册,详细的图文解说激活过程
- Linux运维基础阶段部分复习概要