On 05/04/11 01:09, Christopher Dicely wrote:
> In Java, protected means available to:
> 3. methods (class [static] or instance) of classes defined in the same
> package as this class, and objects of those classes

Yes, this is where it differs from C++.

> In C++, protected means available to:
> members and friends

Ok, but "friends don't let friends use friends" :)
At least, they were basically banned in all the C++ I worked on.

> In Ruby, an instance variable can be directly accessed from:
> methods of the object in which it exists, regardless of on which class
> or module those methods are defined.
>
> This is far more restrictive than protected access in Java and C++,

I don't agree, I think it's less restrictive, but it doesn't
matter much what we call it, as long as the semantics are clear,
and you've made them clear for anyone following this.

> I stand by the characterization that access to Ruby instance variables
>   is more like private access than protected access

Well, you say tom-a-to, I say tom-ah-to, as long as we know
what we mean.