setPriority(priority: int): ToDoItem
setWhat(什麼:字符串)的TodoItem制定者需要更新的對象,並返回一些JAVA
setWhen(時:字符串)的TodoItem
這三個制定者返回更新的對象。這與過去的正常無效版本有點不同。
這是一個數組列表
這是我的UML說什麼。
我完全失去了,我不知道如何開始做一個setter返回一個更新版本的東西,我有一個想法它的for循環,但即時通訊失去了它的虛幻,任何幫助,推動我在右方向理解
setPriority(priority: int): ToDoItem
setWhat(什麼:字符串)的TodoItem制定者需要更新的對象,並返回一些JAVA
setWhen(時:字符串)的TodoItem
這三個制定者返回更新的對象。這與過去的正常無效版本有點不同。
這是一個數組列表
這是我的UML說什麼。
我完全失去了,我不知道如何開始做一個setter返回一個更新版本的東西,我有一個想法它的for循環,但即時通訊失去了它的虛幻,任何幫助,推動我在右方向理解
你的UML似乎是基於fluent interface中,一般會return this;
像
public ToDoItem setPriority(int priority) {
this.priority = priority;
return this;
}
這個想法是,呼叫者可隨後鏈方法調用。
ToDoItem a = new ToDoItem().setPriority(10).setWhat("what").setWhen("right now");
如果我理解你的權利,你說的是一口流利的API:
class ToDoItem{
private int priority;
private String what;
private String when;
public ToDoItem setPriority(int priority) {
this.priority = priority;
return this;
}
public ToDoItem setWhen(String when) {
this.when = when;
return this;
}
public ToDoItem setWhat(String what) {
this.what = what;
return this;
}
}
有3類。主要的,WeeklyToDoList和ToDoList。 ToDoList類是具有2個構造函數以及setter和getter的基本類,但是我的教授指定setters將返回對象的更新版本,您將如何更新對象並返回新版本? – MLeuck3
這正是它所做的。第一行代碼更新對象,第二行返回該對象(「this」),並更新完成。 – FredK
@ MLeuck3沒有「新版本」,實例沒有更改 - 但是,值被更新,並返回包含該值的同一個實例。這就是爲什麼一個setter(或* mutator *)通常不會返回任何東西(它不會創建任何東西)。 –