java - 多态数组类规则(超市程序)
问题描述
所以我有一个名为的类UserList
,它包含一个名为的属性Users
,它是ArrayList
我的抽象类的一个User
。
我的User
班级有子类Customer
和Owner
.
在UserList
我根据我在UserList
类中加载的文件创建新类型的用户。
当文件加载时,我有一个方法在里面UserList
创建一个Owner
. 它检查文件中是否有 1 个所有者。如果没有Owner
或不止一个所有者,则会引发错误。
UserList
开一堂课或者更确切地说是一CustomerList
堂课和一堂课有意义吗Owner
(鉴于我的UserList
课程将连接我的超市计划)?
如果这些规则适用,我可以在我的UserList
类中有方法来验证用户(Customer
,Owner
)的类型,比如boolean IsOwner(User CurrentUser)
和boolean IsCustomer(User CurrentUser)
?
还考虑到我的程序将来能够实现Employees,我觉得这个UserList
类更有意义。
解决方案
UserList
, CustomerList
, SoleOwnerList
,EmployeeList
一切都取决于你的意图。
如果您的意图是管理用户列表,请选择UserList
! 泛化意味着能够处理这种情况,如果用户是更一般的东西来表示不同类别的用户。
但我告诉你一些你已经知道的事情:
还考虑到我的程序将来能够实现员工,我觉得 UserList 类更有意义。
推荐阅读
- flutter - 自定义 ThemeData 被忽略/未应用于默认主题颤动
- python - 如何将双括号从shell脚本传递到spark中的python脚本?
- .net-core - UseWindowsService 无法启动服务
- transactions - ARJUNA016064:交易处于无效状态
- c# - 支持不可变集合的集合初始化语法 - 方法的初始化修饰符?
- java - Mockito 不断返回一条消息,指出参数为空。为什么?
- c# - Webrequest 问题:“请求中止:连接意外关闭”
- flutter - 如何为颤动的弯曲导航栏图标添加标签?
- curve-fitting - mpfit2dfun (IDL):如何确保一个拟合参数总是大于另一个?
- database - 如何使用 iotdb-client-go 解决 IoTDB 编译错误?