2-8编程练习

2-8编程练习

import com.imooc.wtask.DevelopmentWork;
import com.imooc.wtask.TestWork;
import com.imooc.wtask.Work;

public class TestW {

	public static void main(String[] args) {
		//测试
		System.out.print("父类信息测试:");
		Work one=new Work("测试工作");
		one.WorkInfor();
		

		System.out.print("测试工作类信息测试:");
		TestWork a=new TestWork(10,5,"测试工作");
		a.WorkInfor();
		
		System.out.print("研发工作类信息测试:");
		DevelopmentWork b=new DevelopmentWork(1000,5,"研发工作");
		b.WorkInfor();
		
	}
}
public class Work {
	//编写无参构造方法、带参构造方法完成对属性的赋值
	private String workName;

	public Work() {
		
	}
	public Work(String workName) {
		this.setWorkName(workName);
	}
	
	public String getWorkName() {
		return workName;
	}
	public void setWorkName(String workName) {
		this.workName = workName;
	}
	
	//编写工作描述的方法,描述内容为:开心工作
	public void WorkInfor() {
		System.out.println("开心工作");
	}
	
}
public class TestWork extends Work {
	//增加属性:编写的测试用例个数、发现的Bug数量
	private int caseCount;
	private int bugCount;
	
	
	//在构造方法中调用父类相关赋值方法,完成属性赋值
	public TestWork() {
		
	}
	
	public TestWork(int caseCount,int bugCount,String workName) {
		this.setCaseCount(caseCount);
		this.setBugCount(bugCount);
		this.setWorkName(workName);
	}

	// 公有的get/set方法完成属性封装
	public int getCaseCount() {
		return caseCount;
	}
	public void setCaseCount(int caseCount) {
		this.caseCount = caseCount;
	}

	public int getBugCount() {
		return bugCount;
	}
	public void setBugCount(int bugCount) {
		this.bugCount = bugCount;
	}
	
	
	//重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供
	public  void WorkInfor() {
		System.out.println(this.getWorkName()+"的日报是:今天编写了"+this.getCaseCount()+"个测试用例,发现了"+this.getBugCount()+"bug");
	}
	
}
public class DevelopmentWork extends Work {
	//增加属性:有效编码行数、目前没有解决的Bug个数
	private int lineCount;
	private int unsolvedBug;
	
	
	//在构造方法中调用父类相关赋值方法,完成属性赋值
	public DevelopmentWork() {
		
	}
	
	public DevelopmentWork(int lineCount,int unsolvedBug,String workName) {
		this.setWorkName(workName);
		this.setLineCount(lineCount);
		this.setUnsolvedBug(unsolvedBug);
	}

	public int getLineCount() {
		return lineCount;
	}
	public void setLineCount(int lineCount) {
		this.lineCount = lineCount;
	}

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

老师这是我完成的代码 运行正常 有没有需要改进的地方?

正在回答 回答被采纳积分+1

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

2回答
提问者 慕后端4084011 2019-09-29 18:32:28

又看了下别的同学的代码 发现我有个问题 在写父类方法以及其他重写方法时 应该用带返回值String类型的方法 并返回 之前课中老师讲过 结果写的时候忘了 顺便问一句这种写法是为了优化代码吗?

  • 同学你好,也可以不需要使用String类型的返回值返回哦~因为代码的实现有很多方式,同学的写法也是可以的~但是,在本题中使用String类型的返回值,更符合题目要求。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-09-29 18:42:31
好帮手慕酷酷 2019-09-29 18:30:16

同学你好,代码完成的不错,建议重写的workInfor方法使用String类型的返回值,更符合题目要求。

另外,建议要注意一下命名规则,当方法或变量名由一个单词组成时,则该单词均小写。当由多个单词组成时,第一个单词所有字母均小写,从第二个单词开始,每个单词的首字母大写。如:WorkInfor应改为:workInfor

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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