是否像下面那樣在Java接口中重載方法。然後使用你的子類中所需的方法?如果沒有,有沒有更好的方法來做到這一點,好心建議。Java接口中的重載方法
interface IEmployees{
public List<String> getEmployees(List<String> employees, List<String> departments);
public List<String> getEmployees(List<String> employees, String name);
}
class EmployeesByDept implements IEmployees{
public List<String> getEmployees(List<String> employees, List<String> departments){
// select employees belonging to depts in list and return.
}
public List<String> getEmployees(List<String> employees, String name){
throw new UnsupportedOperationException();
}
}
class EmployeesByName implements IEmployees{
public List<String> getEmployees(List<String> employees, List<String> departments){
throw new UnsupportedOperationException();
}
public List<String> getEmployees(List<String> employees, String name){
// select employees with name in list and return.
}
}
你是什麼意思的「是對的」? – Mena
如果只允許其中一種方法,我會將接口分成兩部分。除此之外,如果接口只包含一個由一個類實現的方法,您可能會問自己該接口是否需要。 – Thomas
什麼是'IEmployees' *假設*代表?答案真的取決於那個。它是:1a)所有已知僱員的名單,1b)所有已知僱員的任意子集,或2)有員工的一些組織? –