Protected Members of Other Instances in Scala

Posted by Masterofpsi on Stack Overflow See other posts from Stack Overflow or by Masterofpsi
Published on 2011-01-07T01:51:53Z Indexed on 2011/01/07 1:53 UTC
Read the original article Hit count: 560

Filed under:
|

I just ran into a difficulty while learning Scala. I have an inheritance hierarchy that is essentially equivalent to this:

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

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

But trying to compile this sample, I get the error "test.scala:7: error: method myMethod cannot be accessed in A".

Coming from Java, my understanding is that protected members should be accessible at any point from a derived class, and nowhere have I seen anything that tells me that protected members in Scala are limited by instance. Does anyone have an explanation for this?

© Stack Overflow or respective owner

Related posts about scala

Related posts about protected