This is the mail archive of the
insight@sources.redhat.com
mailing list for the Insight project.
Re: Overloaded vs variable?
- To: Keith Seitz <keiths at cygnus dot com>
- Subject: Re: Overloaded vs variable?
- From: Fernando Nasser <fnasser at redhat dot com>
- Date: Wed, 14 Mar 2001 13:12:39 -0500
- CC: Insight Maling List <insight at sources dot redhat dot com>
- Organization: Red Hat Canada
- References: <Pine.SOL.3.91.1010302093740.9412O-100000@ryobi.cygnus.com>
I guess whoever wrote it had the following in mind (I am just guessing,
I was not around at the time):
MyWin::something can perform a calculation (check something) whenever
ManagedWin::frob is invoked.
I.e., cause the test for a condition specific to a subclass whenever the
base class method is invoked. This could not be done with a variable
because the invocation is what is determining *when* the evaluation is
done.
I have no idea where this is useful in our code.
Also, the degenerate case (a constant value) does map to a protected
variable. It may be more clear to test for the protected variable than
to use method overloading in that case. I don't have any strong
feelings about it.
As far as I am concerned feel free to change it wherever it makes sense,
if it is more to your taste.
Cheers,
Fernando
Keith Seitz wrote:
>
> Hi,
>
> In my ongoing effort to cleanup managedwin, I've noticed a trend to do
> things like:
>
> Class ManagedWin {
>
> public method something {} { return 1 }
>
> public method frob {} {
> if {[something]} {
> _frob_it
> }
> }
>
> Class MyWin {
> inherit ManagedWin
>
> public method something {} { return 0 }
>
> }
>
> This is supposed to dictate to ManagedWin not to frob MyWin. Question
> is: Why is this any better than just using a protected variable? It
> would seem to me to be a lot cleaner...
>
> Keith
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9