【发布时间】:2010-11-21 03:18:38
【问题描述】:
我正在尝试为 Scala 实施 Plurk API 竞标,但我需要做出设计选择。
例如,Plurk 用户的性别属性可以是“男性”、“女性”、“其他”之一。
sealed trait Gender
object Male extends Gender
object Female extends Gender
object Others extends Gender
问题是我应该更喜欢上面代码示例中的密封类/对象,而不是 Enumeration 来表示枚举类型吗?
因为我发现在使用其他 Scala 库时很少遇到枚举,并且很多 Actor 的教程使用密封的类/对象来表示 Actor 的消息。
这是否意味着在 Scala 中,密封类是比枚举更好/更传统的选择?
【问题讨论】: