Java 如何在课堂上决定方法
我不熟悉面向对象编程。我正在为一家杂货店开发一个软件。杂货店有顾客,顾客有地址和订阅。所有这些都是应用程序中的不同类。 我有点困惑,我应该在哪个类中创建哪个方法,以及我应该如何决定这一点。 喜欢 viewSubscription应该是Subscription类或Customer类的一部分。Java 如何在课堂上决定方法,java,oop,Java,Oop,我不熟悉面向对象编程。我正在为一家杂货店开发一个软件。杂货店有顾客,顾客有地址和订阅。所有这些都是应用程序中的不同类。 我有点困惑,我应该在哪个类中创建哪个方法,以及我应该如何决定这一点。 喜欢 viewSubscription应该是Subscription类或Customer类的一部分。 modifyCustomer应该是Customer类或Store类的一部分 面向对象编程的思想之一是将有意义的事情组合在一起。在您的示例中,由于它们处理的是与客户相关的信息,我可能会将这两个方法都放在Cust
modifyCustomer应该是Customer类或Store类的一部分 面向对象编程的思想之一是将有意义的事情组合在一起。在您的示例中,由于它们处理的是与客户相关的信息,我可能会将这两个方法都放在Customer类中。方法是行为,变量是状态 你可以订阅什么?从何而来的征召 订阅无法查看自身,谁将查看订阅?顾客
suscription实际上应该是一个类,但POJO是一个状态集合。客户可以看到这些状态。面向对象编程可以轻松解决复杂问题。您可能想坐下来,对类之间的关系以及类将包含的数据进行模式分析。哪种方法应该走到哪里将变得显而易见 为什么要查看订阅,而不是订阅的成员 总是问自己一个简单的问题:查看什么订阅?关于你想做什么动作 我打赌你想查看客户的订阅!使viewSubscription成为客户的一种方法!customer1.viewSubscription 查看UML和OCL。它们将帮助你对你的想法进行建模。只是一个概述:一个对象代表一个真实的实体,比如说一辆汽车,一辆汽车有一些属性,比如它有轮子、方向盘、变速箱等等,就像它有一些行为,比如向前移动、向左转向、向右转向和停止一样。
当采用面向对象编程方法时,上面提到的所有与汽车相关的事情都会像这样,我们制作一个汽车类,属性车轮、转向、变速箱等被定义为该类中的变量,行为向前移动,向左转向,steers right被定义为该类中的函数。没有与OOP相关的硬性规则,您只需让它在逻辑上尽可能真实,例如,在您的情况下,Subscription类包含与订阅相关的所有信息,而客户拥有订阅,因此viewSubscriptionmethod应该包含在内Customer类作为私有字段,因为它应该获取并显示与特定客户相关的订阅信息。modifyCustomer,因为它涉及到修改Customer类的数据字段,因此这也将出现在Customer类中,因为所有字段值的修改可能都应该在包含字段的类中完成。如果这些方法进行任何类型的用户交互,例如显示GUI视图,他们应该是不同班级的一员。您的模型类应该只关注对您需要的有关客户、地址和订阅的各种数据进行分组。可能包括一些业务逻辑,如验证,但也可以进入控制器类。但当然不是演示代码。您使用哪种用户界面技术查看订阅?如果它是桌面GUI,或者基于web GUI,那么您可以从查看。我说开始是因为这是一个非常大的话题。在这种情况下,您可能会创建SubscriptionView类或页面,这取决于您决定让用户查看订阅的技术