I've often run into wanting to call grandParent.super() instead of
parent.super(), even when parent.super() will do a call to grandParent.super()
anyway. The reason for this is to override parent.super while preserving the
functionality of grandParent.super. For example, if you're overriding
updateDisplayList or createChildren, you've got to call
super.updateDisplayList or super.createChildren, but maybe I want to
override (and by that I mean NOT run the code in)
parent.updateDisplayList(which seems to make since seeing as I am
using the word 'override'...). But
if I override updateDisplayList, then at some point in my method I've got to
call super.updateDisplayList to get anything to work. But that means I'm
going to run all the code in super.updateDisplayList, when in reality I just
want to run the code in grandParent.updateDisplayList.

So just my two cents, I think there are very good reasons to want to make a
call straight to grandParent.super(). I've wanted to do it a few times
myself and I don't think it should just be chalked up to "no, that's bad
OOP".

Doug




On 3/1/07, Paul DeCoursey <[EMAIL PROTECTED]> wrote:

  Why? I can't think of a single reason to want to do that. If you
really wanted to do that then you should be extending the grandparent
class. Also are you sure that the parent class is not calling super?
generally you do that unless you don't want that functionality.

Paul

--- In [email protected] <flexcoders%40yahoogroups.com>, "Anthony
Lee" <[EMAIL PROTECTED]>
wrote:
>
> Hi,
>
> Sorry for the lame AS questions, but can anyone tell me how to call
> the super method of the class I'm extending? ie. the grandparent and
> not the parent.
>
> Thanks,
>
> tonio
>

Reply via email to