Sam Smoot wrote: > Yukihiro Matsumoto wrote: >> prints 1 and "bar", so that they need not to be protected by >> visibility. They are, even if they are accepted, just for narrowing >> constants list. >> >> matz. > > In light of that, might the solution here simply be sub-classing the > objects involved (such as File) instead of decorating the existing > classes? Most of the time I would, but there are times when you want to redefine methods of existing classes. Also, C++ and C# seem to have the concept of private constants. What they're used for in practice, though, I'm not sure. I'll have to research more. Regards, Dan