В Scala, если я создаю объект и сопутствующий класс, идентификаторы, объявленные с модификатором protected
можно получить из класса, если объект импортируется:Scala защищенный объект
object Foo {
protected val X = 42
}
class Foo {
import Foo._
def getX(): Int = X
}
Однако protected
идентификатор не может быть доступ из подкласса класса Foo:
class Bar extends Foo {
import Foo._
def getX(): Int = X * 2
}
Я получаю ошибку компиляции в Bar
.
Другой тогда (подразумеваемый) public
, есть ли модификатор доступа можно поместить на X
так, что его можно получить из подклассов своего компаньона, но не из других классов, в том числе других классов в одном пакете?
Просто небольшая проблема: ваш подкласс не всегда в том же пакете. – Nicolas 2010-11-24 08:07:30