Well I don't think they would want to expose it as public if it adds no
complete value to the whole picture, it may very well be marked as protected
so that child classes have a set of "helper" methods so to speak, for them
to extend the parent to more interesting levels. That's about the most
logical reason I have in regards to marking it as protected.

Rehashing on other people's replies, reducing functionality is a major
violation to the principal, I mean in essence it's really to help you avoid
doing dumb things.

On Wed, Aug 4, 2010 at 2:55 PM, Arjang Assadi <[email protected]>wrote:

> On 4 August 2010 13:32, David Richards <[email protected]>
> wrote:
> > Wouldn't increasing access technically just be adding a member to the
> > subclass?  A member that, publicly anyway, the superclass didn't have.
> Yes, but I have seen cases where a member is declared protected and to
> access that
> a new subtype is derived with the only intention of declaring that
> protected member public!
>
> Now if that member was meant to be protected for internal use, why
> widen it's access in the decendent class?
> wouldn't it make more sense to have it public to begin with? I come
> across this somewhere as a trick being used to access a protected
> member of a class ( first time I saw this in Delphi 17 or so years ago
> ) now it has it's surfaced ugly head in C#.
>
> > What happens internally is pretty irrelevant.
> Internally yes, but from design point of view, when we compare the
> Parent and inherited class, we find the members that for some unknown
> reason at one level are meant to be protected and next shzaam! they
> are public.
> I am not concerned with security at all, just the design paradigm
> seems to be inconsistent.
>
> Of course one can argue that what if we don't have access to the
> original class and the idiot who designed it should have made it
> public. In that case increasing the access seems like the poor man's
> patch, rather than fixing the problem at it's source (pun intended).
>
> Regards
>
> Arjang
>
>
>
> >
> > In my book, decreasing is always bad.  I've seen it happen in some
> > Microsoft classes.  It was really annoying.  I can't imagine when this
> > would be a good idea.
>
> Never, as Michael pointed out it breaks polymorphisim.
>

Reply via email to