编程练习:请使用面向对象的思想,设计自定义类完成如下功能要求:
接收用户输入的信息,选择需要完成的工作任务。其中,可供选择的有:测试工作和研发工作。
关于类型设定描述如下:
属性:工作名称、编写的测试用例个数、发现的Bug数量
方法:工作描述
属性:工作名称、有效编码行数、目前没有解决的Bug个数
方法:工作描述
程序运行参考效果图如下:
父类信息测试:开心工作
测试工作类信息测试:测试工作的日报是:今天编写了10个测试用例,发现了5个BUG。
研发工作类信息测试:研发工作的日报是:今天编写了1000行代码,目前仍有10个BUG没有解决
任务
思路分析:
第一步:分析测试工作和研发工作的共性:
- 都是工作类型
- 都有工作名称的属性,工作描述的方法
第二步:根据共性,定义工作类
属性:工作名称
方法:
- 编写无参构造方法、带参构造方法完成对属性的赋值
- 编写工作描述的方法,描述内容为:开心工作。
第三步:定义测试工作类、研发工作类分别继承工作类,要求:
- 增加属性:编写的测试用例个数、发现的Bug数量
- 在构造方法中调用父类相关赋值方法,完成属性赋值
- 重写运行方法,描述内容为:的日报是:今天编写了个测试用例,发现了bug。其中的数据由属性提供
- 增加属性:有效编码行数、目前没有解决的Bug个数
- 在构造方法中调用父类相关赋值方法,完成属性赋值
- 重写运行方法,描述内容为:的日报是:今天编写了行代码,目前仍然有个bug没有解决。其中的数据由属性提供
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| package me.feihong.work;
public class Work { private String name ;
public Work() { }
public Work(String name) { this.name=name; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String work() { String str="开心工作"; return str; }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| package me.feihong.work;
public class TestWork extends Work { private int testNum=10; private int bugNum=5;
public TestWork() { super("测试工作"); }
public int getTestNum() { return testNum; }
public void setTestNum(int testNum) { this.testNum = testNum; }
public int getBugNum() { return bugNum; }
public void setBugNum(int bugNum) { this.bugNum = bugNum; }
public String work() { String str=getName()+"的日报是:今天编写了"+testNum+"个测试用例,发现了"+bugNum+"个BUG。" ; return str; }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| package me.feihong.work;
public class DevelopmentWork extends Work { private int yline=1000; private int unSovleBug=10;
public DevelopmentWork() { super("研发工作"); }
public int getYline() { return yline; }
public void setYline(int yline) { this.yline = yline; }
public int getUnSovleBug() { return unSovleBug; }
public void setUnSovleBug(int unSovleBug) { this.unSovleBug = unSovleBug; }
public String work() { String str=getName()+"的日报是:今天编写了"+yline+"行代码,目前仍有"+unSovleBug+"个BUG没有解决" ; return str; }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package me.feihong.work;
public class Test {
public static void main(String[] args) { System.out.print("父类信息测试:"); Work fwork=new Work(); System.out.println(fwork.work()); System.out.print("测试工作类信息测试:"); TestWork twork=new TestWork(); System.out.println(twork.work()); System.out.print("研发工作类信息测试:"); DevelopmentWork dwork=new DevelopmentWork(); System.out.println(dwork.work());
}
}
|