我对面向对象编程是个新手。我正在为一家杂货店开发一个软件。杂货店有顾客,顾客有地址和订阅。所有这些都是应用程序中的不同类。我有点困惑,我应该在哪个类中创建哪个方法,以及我应该如何决定这一点。像viewSubscription()应该是Subscription类或Customer类的一部分。modifyCustomer()应该是Customer类或Store类的一部分。
发布于 2014-11-21 12:29:31
面向对象编程的思想之一是将有意义的东西组合在一起。在您的示例中,由于它们处理的是与Customer相关的信息,因此我可能会将这两个方法都放在Customer类中。
发布于 2014-11-21 12:35:02
方法是行为,变量是状态。
订阅可以做什么?从什么做起的悬念?
A Suscription不能查看本身,谁会查看订阅?一位顾客?
suscription实际上应该是一个类,但是POJO,它是状态的集合。客户可以看到这些状态。
发布于 2014-11-21 12:39:38
OOP使得分解复杂问题变得很容易。您可能想坐下来对类之间的关系和类将包含的数据做一个模式。哪种方法应该放在哪里将变得显而易见。
为什么要查看订阅应该是订阅的一员?
总是问你自己这个简单的问题:查看什么的订阅?你想做什么动作。
我敢打赌,您一定想查看某个客户的订阅!使viewSubscription成为Customer!customer1.viewSubscription()的方法
查看UML和OCL。它们将帮助您对您的想法进行建模。
https://stackoverflow.com/questions/27054064
复制相似问题