【发布时间】:2016-10-02 10:05:32
【问题描述】:
class EG {
private[this] type TypeMember = A
private[this] var field: Int = 0
}
可以像字段一样为类型成员指定访问修饰符。众所周知,在 OOP 的情况下,encapsulation of fields 确实提供了防止意外共享状态和限制状态修改的好处。据我所知,类型成员只能在 Scala 中找到,并且在许多地方它们只是被定义为公共的,因此在类型成员上使用访问修饰符并不像在字段的情况下那样被很好地理解。类型成员不持有任何状态,如变量或字段。由于它不包含值,因此无法对其进行变异。 所以我的问题是您应该在哪些地方限制对类型成员的访问(将类型成员定义为私有或受保护)?
【问题讨论】:
标签: scala oop encapsulation type-members