我对OOP概念很陌生,我正在尝试创建一个食物传递系统系统,我有不同的用户(管理员,文员,官员)访问系统
我的客户将在系统中注册,并会为客户下订单。
因此,我创建了注册客户(registerCustomer)和下订单(placeOrder)以及其他方法的方法。现在我很困惑这些方法将会使用哪些类。 registerCustomer应该在我的User类(不同用户继承自哪个)或Customer类之下。订单安排也是如此。我应该创建一个订单类,还是将placeOrder放在Customer或User class
下答案 0 :(得分:0)
有很多方法可以做到这一点,还有许多书籍和在线资源可以教你如何进行面向对象的编程。通常,您希望将方法放在这些方法所操作的类中,而不是放在不受这些方法影响的类中。因此,如果只能注册Customers
,而Clerks
和Officers
不能注册,则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);