我正在尝试实现 Plurk API竞标 Scala,但我有一个设计选择要做。
例如,Plurk 用户的性别属性可以是“男”、“女”、“其他”之一。
sealed trait Gender
object Male extends Gender
object Female extends Gender
object Others extends Gender
问题是我应该像上面的代码示例一样更喜欢密封的类/对象,而不是 Enumeration 来表示枚举类型?
因为我发现我在使用其他Scala库时很少遇到Enumeration,而且很多Actor的教程都使用密封的类/对象来表示Actor的消息。
那么这是否意味着在 Scala 中,密封类是比枚举更好/传统的选择?
最佳答案
如果你不需要迭代你的 Gender 对象或者需要像 next
这样的方法和 previous
、类和对象是正确的解决方案。
如果您需要“类和对象”和“scala.Enumeration”的功能this和 this您可能会感兴趣的问题。
关于scala - 我应该更喜欢 Scala 中的密封类还是枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236251/