猿问

'registerCustomer()' 应该在 Customer 类还是

假设我想实现以下方法:


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类中实现方法?


我能够以任何一种方式实现它们而不会出错。但哪个是“更好”的方式?我该怎么做呢?


杨__羊羊
浏览 156回答 2
2回答

UYOU

改变或提取单个客户状态的方法,它的姓名、电话号码、身份证号码等,或者是单个客户固有行为的一部分,应该是 Customer 类的一部分。改变客户集合状态的方法——添加一个 Custmoer、删除、选择……应该在它自己的类(或主类,如果它是唯一的其他类)中的其他地方。所以...这些都不是 Customer 本身的一部分,因为它们似乎正在处理 Customer 的集合或分组,并且不关注单个 Customer 的状态:void registerCustomer();void displayCustomer();void editCustomer();void deleteCustomer();您可能会editCustomer()说它应该是 Customer 类的一部分,因为它似乎编辑单个 Customer,但我认为不,这似乎试图更改某种集合或 GUI 中选定 Customer 的状态。

千巷猫影

这些方法应该在其他地方而不是Customer类中实现。我建议您创建另一个名为的类CustomerService并使其实现方法。另外,不要忘记为您的方法提供参数:)
随时随地看视频慕课网APP

相关分类

Java
我要回答