如何在课堂上决定方法

时间:2014-11-21 04:20:25

标签: java oop

我是面向对象编程的新手。我正在为杂货店开发软件。杂货店有客户,客户有地址和订阅。所有这些都是应用程序中的不同类。 我有点困惑,我应该在哪个类中创建哪个方法以及我应该如何决定它。 喜欢 viewSubscription()应该是Subscription类或Customer类的一部分。 modifyCustomer()应该是Customer类或Store类的一部分。

4 个答案:

答案 0 :(得分:0)

面向对象编程的一个想法是将有意义的事物组合在一起。在您的示例中,由于他们正在处理与Customer相关的信息,因此我可能会将这两种方法都放在Customer类中。

答案 1 :(得分:0)

方法是行为,变量是状态。

订阅什么?从什么是遗嘱?

一个Suscription视图本身,谁将查看订阅?一个客户?

一个嫌疑人应该是一个班级,但是POJO,它是一个州的集合。客户可以看到这些状态。

答案 2 :(得分:0)

OOP可以轻松解决复杂问题。您可能希望坐下来对类的关系以及类包含的数据进行关联。很明显哪种方法应该去哪里。

为什么视图订阅应该是Subscription维护合约的成员?

总是问自己这个简单的问题:查看订阅的内容是什么?你想做什么动作。

我打赌你想要查看客户的订阅!使viewSubscription成为客户的一种方法! customer1.viewSubscription()

查看UML和OCL。他们将帮助您模拟您的想法。

答案 3 :(得分:0)

只是一个概述: 对象代表一个真实的实体,例如一辆车,A汽车有一些属性,如它有车轮,转向,变速箱等等,就像它有一些行为,如它向前移动,向左转向,转向右,它停止。 上面提到的所有事情都与汽车相关,当面向对象的编程方法看起来像,我们制造一个类Car,属性(车轮,转向,变速箱等)被定义为该类内的变量和行为(向前移动,向左转向,向右转向)被定义为该类中的功能。没有关于OOP的硬性和快速规则,您必须使其在逻辑上感觉为尽可能真实生活例如,在您的情况下,订阅类具有与订阅相关的所有信息,并且客户已订阅,因此viewSubscription()方法应位于客户类中私有字段,因为它应该获取并显示与特定客户相关的订阅信息。 modifyCustomer()因为它涉及修改Customer类的数据字段,所以这也将包含在 customer class 中,因为字段值的所有修改都应该在包含字段的类中完成