The current model forces people to 'convince' others to open up classes for inheritance at the precise point it is necessary. This is a model which has served, at least, Hadoop very well.

So, I think we should not go make every member protected - rather we should open them up one at a time, as and when necessary.

Arun

On Feb 2, 2010, at 7:34 PM, Dmitriy Ryaboy wrote:

Hi all,
I keep running into problems trying to extend Pig due to variables
being declared private. The latest time around it was in PigSlice --
one can't inherit it and do much meaningful overriding of methods
because the input streams are private rather than protected, so I
can't change how it gets created. I wound up having to copy+paste the
class wholesale, which is unfortunate. I know the Slice/Slicer
interfaces are going away, but as a general rule -- can we be mindful
of folks trying to extend classes, and make inner members protected,
rather than private or package?

Thanks
-Dmitriy

Reply via email to