说我想实现以下方法:
void registerCustomer();
void displayCustomer();
void editCustomer();
void deleteCustomer();
说我有以下课程:
public class Main {
public static void main(String[] args) {
// put your stuff here
}
// void registerCustomer() { ... }
}
和
public class Customer {
// data fields - id, name, etc
// constructors, setters, getters
// void registerCustomer() { ... }
}
我应该在Main
类还是Customer
类中实现方法?
我能够以任何一种方式实现它们而不会出错。但是,哪种“更好”的方式呢?我应该怎么做?
答案 0 :(得分:3)
更改或提取单个客户状态的方法,即姓名,电话号码,身份证号码,....,或单个客户固有行为的一部分,成为客户类的一部分。
更改Customer集合状态的方法-添加Custmoer,删除,选择...应该在其自己的类中的其他位置(或主类,如果这是唯一的其他类)。 / p>
所以...
这些都不是客户本身的一部分,因为它们似乎与客户的集合或分组一起工作,并且不关注单个客户的状态:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
public static int hashCode(int value) {
return value;
}
您可能会说void registerCustomer();
void displayCustomer();
void editCustomer();
void deleteCustomer();
应该属于Customer类,因为它似乎是在编辑单个Customer,但是我认为不是,这似乎是在尝试更改集合中所选Customer的状态。或某种GUI。
答案 1 :(得分:0)
这些方法应该在其他地方而不是Customer
类中实现。我建议您创建另一个名为CustomerService
的类,并将其实现为方法。另外,不要忘记为您的方法提供参数:)