继承:2-8代码打完了,不知道符不符合要求

继承: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

登陆购买课程后可参与讨论,去登陆

1回答
吃吃吃鱼的猫 2019-04-27 16:08:07

同学你好,程序运行正确且符合要求。

  1. 在构造方法中调用父类相关赋值方法,完成属性赋值。这本身没有什么意义,只是为了同学练习的一个方向而已。

  2. 同学的感觉是正确的,这里需要输出的就是例如:

    “其中测试工作的数据由属性提供”,这里*号输出的是做的什么工作。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师