Защищенные члены других экземпляров в Scala

Я столкнулся с трудностью при изучении Scala. У меня есть иерархия наследования, которая по существу эквивалентна этой:

class A {
    protected def myMethod() = println("myMethod() from A")
}

class B extends A {
    def invokeMyMethod(a: A) = a.myMethod()
}

Но пытаясь скомпилировать этот образец, я получаю ошибку «test.scala: 7: error: метод myMethod недоступен в A».

Исходя из Java Насколько я понимаю, защищенные члены должны быть доступны в любой момент из производного класса, и я нигде не видел ничего, что говорило бы мне, что защищенные члены в Scala ограничены экземпляром. Есть ли у кого-нибудь объяснение этому?

9
задан Masterofpsi 7 January 2011 в 01:51
поделиться