假設我想實現以下方法: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類中實現方法?我能夠以任何一種方式實現它們而不會出錯。但哪個是“更好”的方式?我該怎么做呢?
2 回答

UYOU
TA貢獻1878條經驗 獲得超4個贊
改變或提取單個客戶狀態的方法,它的姓名、電話號碼、身份證號碼等,或者是單個客戶固有行為的一部分,應該是 Customer 類的一部分。
改變客戶集合狀態的方法——添加一個 Custmoer、刪除、選擇……應該在它自己的類(或主類,如果它是唯一的其他類)中的其他地方。
所以...
這些都不是 Customer 本身的一部分,因為它們似乎正在處理 Customer 的集合或分組,并且不關注單個 Customer 的狀態:
void registerCustomer();
void displayCustomer();
void editCustomer();
void deleteCustomer();
您可能會editCustomer()說它應該是 Customer 類的一部分,因為它似乎編輯單個 Customer,但我認為不,這似乎試圖更改某種集合或 GUI 中選定 Customer 的狀態。

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
這些方法應該在其他地方而不是Customer
類中實現。我建議您創建另一個名為的類CustomerService
并使其實現方法。另外,不要忘記為您的方法提供參數:)
添加回答
舉報
0/150
提交
取消