class EG {
private[this] type TypeMember = A
private[this] var field: Int = 0
}
Можно указать модификаторы доступа для членов типа, как поля. В случае ООП хорошо понимается, что поля encapsulation обеспечивают преимущество, предотвращающее непреднамеренное совместное использование состояния и ограничение модификации состояния. Насколько я знаю, члены типа встречаются только в Scala, и во многих местах они просто определяются как public, поэтому использование модификаторов доступа для членов типа не так хорошо понимается, как в случае полей. Члены типа не имеют никакого состояния, как переменная или поле. Так как он не имеет значения, он не может быть мутирован. Итак, мой вопрос в том, какие места вы должны ограничить доступом к члену типа (определить член типа как закрытый или защищенный)?Когда следует использовать модификаторы доступа для членов типа?
Выше только для иллюстративных целей. Это может быть 'private [this] type TypeMember = A' или' private [this] type TypeMember <: A' или 'private type TypeMember = A' или' protected [this] type TypeMember = A' или 'protected type TypeMember = А просто проиллюстрировать несколько случаев. –