将User类扩展为子类或在类中具有表示用户类型的字段?

时间:2018-02-14 17:33:10

标签: software-design

我正在为具有不同用户类型的登录系统的学校作业制作一个小型记录应用程序。每种用户类型都对应用程序具有不同的权限。我在User类中有一个根据权限而变化的int字段有什么问题吗?例如。 0将具有所有访问权限,1将略微减少等等。

接近这样的任务有什么不对,而不是将默认的User类扩展到其他类型的用户?

1 个答案:

答案 0 :(得分:0)

更好的方法是将权限建模为enum

enum Permission {
   FULL_ACCESS, RESTRICTED, NO_ACCESS;
}
public class User {
   //other fields
   private Permission permission; 
}

编辑:以上示例在Java中进行了演示。您可以将其更改为您的语言允许的方式。