关于班级

时间:2015-10-25 14:07:04

标签: oop

我对OOP概念很陌生,我正在尝试创建一个食物传递系统系统,我有不同的用户(管理员,文员,官员)访问系统

我的客户将在系统中注册,并会为客户下订单。

因此,我创建了注册客户(registerCustomer)和下订单(placeOrder)以及其他方法的方法。现在我很困惑这些方法将会使用哪些类。 registerCustomer应该在我的User类(不同用户继承自哪个)或Customer类之下。订单安排也是如此。我应该创建一个订单类,还是将placeOrder放在Customer或User class

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,还有许多书籍和在线资源可以教你如何进行面向对象的编程。通常,您希望将方法放在这些方法所操作的类中,而不是放在不受这些方法影响的类中。因此,如果只能注册Customers,而ClerksOfficers不能注册,则registerCustomer()方法只能从Customer类访问,而不能访问它继承自的User类。同样,如果只有Customer可以放置Order那么placeOrder()方法所在的位置。

但是,您还应该考虑其他对象参与每个操作的内容。例如,registerCustomer()方法可能真正属于FoodDeliverySystem类。例如:

FoodDeliverySystem mySystem = new FoodDeliverySystem();
Customer myCustomer = new Customer();
Order myOrder = new Order();

mySystem.registerCustomer(myCustomer);
myCustomer.placeOrder(myOrder);