老师,帮我看下是否可以进行优化?
来源: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回答
同学你好,已完成练习,棒棒哒!不过有一个小建议,建议在TestWork与DevelopmentWork类中创建无参构造。如果定义带参构造但未定义无参构造,则带参构造会覆盖掉默认的无参构造,当使用无参构造方法创建对象时,会找不到无参构造方法报错。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题