我目前正在做一个黑板程序。它有一个名为boarditem的超类和一个子类task。
board项在构造函数中有一个字段状态,该字段状态来自名为status的枚举类。boarditem的默认状态应为open,task的默认状态应为todo。
这里是枚举状态的顺序:打开、todo、正在进行、完成、已验证。
这是我的boarditem构造函数:
public class BoardItem {
protected final Status initialStatus = Status.Open;
private final Status finalStatus = Status.Verified;
private String title;
protected Status status;
private LocalDate dueDate;
/**
* Class constructors
*/
public BoardItem(String title, LocalDate dueDate) {
validateTitle(title);
validateDueDate(dueDate);
this.title =title;
this.dueDate=dueDate;
this.status=initialStatus;
下面是任务的构造函数:
public class Task extends BoardItem {
protected Status initialStatus = Status.Todo;
private Status status;
private String assignee;
public Task(String title, String assignee, LocalDate dueDate){
super(title, dueDate);
validateAssignee(assignee);
this.assignee = assignee;
this.status=initialStatus;
}
不管任务的初始状态设置为todo。它获取boarditem的值,并始终以状态打开开始。我知道这是因为继承,但我似乎找不到一个解决办法。有什么想法吗?
暂无答案!
目前还没有任何答案,快来回答吧!