The main purpose of shading is to separate the local code from the surrounding class. If it is not available, consider the following case.
Foo class released in API. In your code, you subclass it, and in your subclass use the bar variable. Foo then releases the update and adds the protected variable Bar to its class.
Now your class will not be launched due to a conflict that you could not expect.
However, do not do this on purpose. Just let it happen when you really don't care about what happens outside the scope.
Yishai Jul 07 '09 at 12:56 2009-07-07 12:56
source share