老师,帮我看下是否可以进行优化?

来源:2-8 编程练习

猿人慕

2019-11-25 14:52:53

public class Work {
	 // 属性:工作ming
    private String name ;

	// 无参构造方法
    public Work() {

    }

	// 带参构造方法,完成工作类型的赋值
	public Work(String name) {
		super();
		this.setName(name);
	}

   // 公有的get***/set***方法完成属性封装
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	// 方法:工作描述,描述内容为:开心工作
	public String work() {
		String str = "";
		str = str +this.getName()+"测试:开心工作。";
		return str;
		
	}

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

	public void setTestDemoNum(int testDemoNum) {
		this.testDemoNum = testDemoNum;
	}

	public int getBugNum() {
		return bugNum;
	}

	public void setBugNum(int bugNum) {
		this.bugNum = bugNum;
	}
	// 重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
	public String work() {
		String str="";
		str = str+this.getName()+"的日报是:今天编写了"+this.getTestDemoNum()+"个测试用例,发现了"+getBugNum()+"bug。";
		return str;
	}
}
public class DevelopmentWork extends Work{
	 // 属性:有效编码行数、目前没有解决的Bug个数
	private int codeHangNum;
	private int nowBugNum;
		//编写构造方法,并调用父类相关赋值方法,完成属性赋值
	public DevelopmentWork(int codeHangNum, int nowBugNum,String name) {
		super(name);
		this.setCodeHangNum(codeHangNum);;
		this.setNowBugNum(nowBugNum);
	}
	    // 公有的get***/set***方法完成属性封装
	public int getCodeHangNum() {
		return codeHangNum;
	}
	public void setCodeHangNum(int codeHangNum) {
		this.codeHangNum = codeHangNum;
	}
	public int getNowBugNum() {
		return nowBugNum;
	}
	public void setNowBugNum(int nowBugNum) {
		this.nowBugNum = nowBugNum;
	}
	
		// 重写运行方法,描述内容为:**的日报是:今天编写了**行代码,目前仍然有**个bug没有解决。其中**的数据由属性提供
		public String work() {
			String str="";
			str =str+this.getName()+"的日报是:今天编写了"+getCodeHangNum()+"行代码,目前仍然有"+getNowBugNum()+"个bug没有解决。";
			return str;
			
		}
		

}
public class Test {
	public static void main(String[] args) {
		TestWork w1 = new TestWork(10, 5, "测试工作类");
		DevelopmentWork w2 = new DevelopmentWork(100, 10, "研发工作类");
		Work w3 = new Work("父类信息");
		
		System.out.println(w3.work());
	
		System.out.println(w1.work());
	
		System.out.println(w2.work());
	
	}

}


写回答

1回答

好帮手慕小尤

2019-11-25

同学你好,已完成练习,棒棒哒!不过有一个小建议,建议在TestWork与DevelopmentWork类中创建无参构造。如果定义带参构造但未定义无参构造,则带参构造会覆盖掉默认的无参构造,当使用无参构造方法创建对象时,会找不到无参构造方法报错。

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

0

0 学习 · 11489 问题

查看课程