继承:2-8代码打完了,不知道符不符合要求
package com.imooc.happywork;
public class Test {
public static void main(String[] args) {
Work one=new Work();
System.out.println("父类信息测试:"+one.work());
TestWork two=new TestWork(10,5);
two.setName("测试工作");
System.out.println("测试工作类信息测试:"+two.work());
DevelopmentWork three=new DevelopmentWork(1000,10);
three.setName("研发工作");
System.out.println("研发工作类信息测试:"+three.work());
}
}
package com.imooc.happywork;
public class Work {
// 属性:工作ming
private String name ;
// 无参构造方法
public Work(){
}
// 带参构造方法,完成工作类型的赋值
public Work(String name){
this.setName(name);
}
// 公有的get***/set***方法完成属性封装
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
// 方法:工作描述,描述内容为:开心工作
public String work() {
String str="开心工作";
return str;
}
}
package com.imooc.happywork;
public class TestWork extends Work {
//属性:编写的测试用例个数、发现的Bug数量
private int exampleNum;
private int bugNum;
// 编写构造方法,并调用父类相关赋值方法,完成属性赋值
public TestWork(){
}
public TestWork(int exampleNum,int bugNum){
this.setExampleNum(exampleNum);
this.setBugNum(bugNum);
}
// 公有的get***/set***方法完成属性封装
public void setExampleNum(int exampleNum){
this.exampleNum=exampleNum;
}
public int getExampleNum(){
return this.exampleNum;
}
public void setBugNum(int bugNum){
this.bugNum=bugNum;
}
public int getBugNum(){
return this.bugNum;
}
// 重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
public String work() {
String str=this.getName()+"的日报是:今天编写了"+this.getExampleNum()+"个测试用例,发现了"+this.getBugNum()+"个bug。其中"+this.getName()+"的数据由属性提供";
return str;
}
}
package com.imooc.happywork;
public class DevelopmentWork extends Work {
// 属性:有效编码行数、目前没有解决的Bug个数
private int codeNum;
private int unBugNum;
//编写构造方法,并调用父类相关赋值方法,完成属性赋值
public DevelopmentWork(){
}
public DevelopmentWork(int codeNum,int unBugNum){
this.setCodeNum(codeNum);
this.setUnBugNum(unBugNum);
}
// 公有的get***/set***方法完成属性封装
public void setCodeNum(int codeNum){
this.codeNum=codeNum;
}
public int getCodeNum(){
return this.codeNum;
}
public void setUnBugNum(int unBugNum){
this.unBugNum=unBugNum;
}
public int getUnBugNum(){
return this.unBugNum;
}
// 重写运行方法,描述内容为:**的日报是:今天编写了**行代码,目前仍然有**个bug没有解决。其中**的数据由属性提供
public String work() {
String str=this.getName()+"的日报是:今天编写了"+this.getCodeNum()+"行代码,目前仍然有"+this.getUnBugNum()+"个bug没有解决。其中"+this.getName()+"的数据由属性提供";
return str;
}
}任务
思路分析:
第一步:分析测试工作和研发工作的共性:
都是工作类型
都有工作名称的属性,工作描述的方法
第二步:根据共性,定义工作类
属性:工作名称
方法:
编写无参构造方法、带参构造方法完成对属性的赋值
编写工作描述的方法,描述内容为:开心工作。
第三步:定义测试工作类、研发工作类分别继承工作类,要求:
测试工作类:
增加属性:编写的测试用例个数、发现的Bug数量
在构造方法中调用父类相关赋值方法,完成属性赋值
重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
研发工作类:
增加属性:有效编码行数、目前没有解决的Bug个数
运行无问题,但是:1、在构造方法中调用父类相关赋值方法,完成属性赋值。可我没有调用父类方法啊,父类只有工作名称,我在构造方法里调用它干啥?! 2、在信息介绍的方法里,要求打印这样一句话:其中***的数据由属性提供。我就懵了,这到底是啥意思?我凭感觉 调用了父类的工作名称:this.getName(),当然知道文不对题。 3、除了我以上的困惑外,老师,代码写的是否符合要求?
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星