나는 꽤 전형적인 질문이 있습니다.메소드의 매개 변수와 다른 매개 변수가있는 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;
}
가 지금은 하나 이상하지만 (주석으로 표시) 실제 개체 건설 장소에서 다른 유사 네 다른 함수를 만들 싶습니다 내 응용 프로그램에서 나는 다음과 같은 코드가 있습니다.
대신 new TaskListDatabases(app)
1 일에서 나는 3 new Task (app, String, String, String)
에, 2 new Task (app, String, int)
에, new Task (app, int, int)
을하고 싶은 ....
모든 나머지는 동일 할 것이다. "매개 변수"부분을 가지고 하나의 함수를 만들 수있는 기회가 있는지 궁금합니다. new TaskListDatabases(app)
. 클래스의 질문 일 뿐이라면 "클래스 매개 변수"를 갖기 때문에 문제가되지 않습니다. 그러나 여기에서는 각 클래스도 생성자 매개 변수가 다릅니다.
아이디어가 있으십니까?
Google은 "공장"패턴을 사용합니다. – Dirk
TaskListDatabases의 인스턴스를 param으로 가져 오지 않는 이유는 무엇입니까? – mash
[[1] (http://www.youtube.com/watch?v=ub0DXaeV6hA)) [[2] (http://www.youtube.com/watch?v=xbjAsdAK4xQ)]를 살펴보십시오. –