Miembros protegidos de otras instancias en Scala
Me encontré con una dificultad mientras aprendía Scala. Tengo una jerarquía de herencia que es esencialmente equivalente a esto:
class A {
protected def myMethod() = println("myMethod() from A")
}
class B extends A {
def invokeMyMethod(a: A) = a.myMethod()
}
Pero al intentar compilar esta muestra, aparece el error "test.scala: 7: error: no se puede acceder al método myMethod en A".
Viniendo de Java, entiendo que los miembros protegidos deben ser accesibles en cualquier punto desde una clase derivada, y en ninguna parte he visto nada que me diga que los miembros protegidos en Scala están limitados por instancia. ¿Alguien tiene una explicación para esto?