老师,请帮忙看看,谢谢

来源:2-8 编程练习

ByteDancer07

2020-01-01 21:57:33

public class Test {
    public static void main(String[] args) {
        System.out.print("父类信息测试:");
        Work w1 = new Work();
        System.out.println(w1.work());

        System.out.print("测试工作类信息测试:");
        TestWork tWork = new TestWork("测试工作",10,5);
        System.out.println(tWork.work());

        System.out.print("研发工作类信息测试:");
        DevelopmentWork dWork = new DevelopmentWork("研发工作",1000,10);
        System.out.println(dWork.work());

    }
}

Work类

public class Work {
    // 属性:工作类型
    private String workName ;
    // 无参构造方法
    public Work(){

    }
    // 带参构造方法,完成工作类型的赋值
    public Work(String workName){
        this.setWorkName(workName);
    }
    // 公有的get***/set***方法完成属性封装
    public void setWorkName(String aName){
        workName = aName;
    }
    public String getWorkName(){
        return workName;
    }

       // 方法:工作描述,描述内容为:开心工作
    public String work() {
        return "开心工作";
    }
}

TestWork类

public class TestWork extends Work {
    //属性:编写的测试用例个数、发现的Bug数量
    private int caseNum;
    private int bugNum;
    // 编写构造方法,并调用父类相关赋值方法,完成属性赋值
    public TestWork(String name,int caseNum,int bugNum){
        super(name);
        this.setBugNum(bugNum);
        this.setCaseNum(caseNum);
    }
    // 公有的get***/set***方法完成属性封装
    public void setCaseNum(int caseNum){
        this.caseNum = caseNum;
    }
    public int getCaseNum(){
        return caseNum;
    }

    public void setBugNum(int bugNum){
        this.bugNum = bugNum;
    }
    public int getBugNum(){
        return bugNum;
    }
    // 重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
    public String work() {
        String str = ""+this.getWorkName()+"的日报是:今天编写了"+this.getCaseNum()+"个测试用例,发现了"+this.getBugNum()+"个bug。";
        return str;
    }
}

DevelopmentWork类

public class DevelopmentWork extends Work {
    // 属性:有效编码行数、目前没有解决的Bug个数
    private int programLine;
    private int notDebugNum;
    //编写构造方法,并调用父类相关赋值方法,完成属性赋值
    public DevelopmentWork(String name,int programLine,int notDebugNum){
       super(name);
       this.setProgramLine(programLine);
       this.setNotDebugNum(notDebugNum);
    }
    // 公有的get***/set***方法完成属性封装
    public void setProgramLine(int programLine){
        this.programLine = programLine;
    }
    public int getProgramLine(){
        return programLine;
    }

    public void setNotDebugNum(int notDebugNum){
        this.notDebugNum = notDebugNum;
    }
    public int getNotDebugNum(){
        return notDebugNum;
    }
    // 重写运行方法,描述内容为:**的日报是:今天编写了**行代码,目前仍然有**个bug没有解决。其中**的数据由属性提供
    public String work() {
        String str = ""+this.getWorkName()+"的日报是:今天编写了"+this.getProgramLine()+"行代码,目前仍然有"+this.getNotDebugNum()+"个bug没有解决。";
        return str;
    }
}


写回答

1回答

好帮手慕小尤

2020-01-02

同学你好,已完成练习,棒棒哒!不过有一个小建议,建议在TestWork与DevelopmentWork类中创建无参构造,如果只定义带参构造但未定义无参构造,则此时使用无参构造创建对象,会找不到无参构造导致报错。

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

0

0 学习 · 11489 问题

查看课程