It's a throwback to the C line of languages.

In Eiffel, for example, there is no real way of hiding methods from
your descendants.

All you can do is 'freeze' a particular feature. And that is
deliberate. Inheritance is after all about the 'is a' relationship.
There is no real need to hide methods from classes that are essentially
genetically identical to you.

If you want encapsulation use delegatation, not inheritance.

IMHO one of the problems with static languages is that they elevated
the notion of inheritance to a level it was never originally intended
for - system correctness - rather than just a nifty shorthand that
eliminates a bundle of duplication.

NeilW

On Dec 29, 1:55 am, "Jeff" <cohen.j... / gmail.com> wrote:

> But, the paper focuses (I admit after just a quick scan) only on the
> lack of encapsulation an object can exert against subclasses.  That's
> always been a part of my belief system, too, as I grew up on C++ and
> later C#... but now I dare wonder aloud, has that really been all that
> important?