我正在尝试创建具有不同用户的聊天应用:简单用户,VIP用户等。
所有类型的用户都拥有简单用户拥有的数据,例如:姓名,密码,电子邮件等,但所有其他用户类型只有他们的选项。
我想创建类SimpleUser,它将具有通过使用私有变量,getter / setter等实现的基本功能,而所有其他用户类型将拥有自己的类,扩展SimpleUser类并添加其uniqe功能
但是在看过这篇文章之后 Do subclasses inherit private fields?它似乎不是正确的做法。
我不确定使用Interface提供可选功能会有所帮助,因为我仍然使用getter / setter访问每个用户类型中的私有变量。
目前我在每个屏幕上都在检查用户的类型(为了选择他的rigth选项),它看起来很笨,有没有办法只检查一次用户的类型(当用户登录)并在所有屏幕中只使用他的uniqe功能?
设计课程的正确方法是什么?
是他们解决问题的唯一方法吗?
答案 0 :(得分:0)
也许从另一方面处理事情,而不是考虑用户,或许考虑屏幕,每个用户都有一个"等级"屏幕提供了每个级别的功能,因为实际上功能并不是用户的屏幕,屏幕只是根据用户决定。
我认为我会使用带有Simple
VIP
等的枚举进行统计,并且此枚举将具有为该级别的用户执行适当操作的方法。