我有一個非常典型的問題。在我的應用程序,我有以下代碼:具有不同參數的java類作爲方法的參數
public TaskListDatabases getTaskListDatabases (int mode) {
switch (mode) {
case (MODE_NORMAL):
if (taskListDatabases == null) {
taskListDatabases = new TaskListDatabases(app); // 1st place
}
break;
case (MODE_FORCE_RERUN):
if (taskListDatabases == null) {
taskListDatabases = new TaskListDatabases(app); // 2nd place
} else {
if (taskListDatabases.getStatus() == AsyncTask.Status.FINISHED)
taskListDatabases = new TaskListDatabases(app); // 3rd place
}
break;
}
return taskListDatabases;
}
現在我想創建4種相似但在實際的對象構造的地方(標有註釋)不同的另外一個功能。
在1日,而不是new TaskListDatabases(app)
我想有new Task (app, int, int)
,在第二new Task (app, String, int)
,在第三new Task (app, String, String, String)
....
其餘全部是相同的。我想知道是否有機會創建一個函數作爲「參數」部分new TaskListDatabases(app)
。如果只是階級問題,那就不是問題,因爲我會擁有「階級參議員」。但是,這裏每個類也有不同的構造函數參數。
有什麼想法?
谷歌爲「工廠」模式。 – Dirk
爲什麼不將TaskListDatabases的實例作爲參數? – mash
看看這些[[1](http://www.youtube.com/watch?v=ub0DXaeV6hA)] [[2](http://www.youtube.com/watch?v=xbjAsdAK4xQ)] –