[598] in Coldmud discussion meeting
Re: Another inheritance question.
daemon@ATHENA.MIT.EDU (Sat Nov 26 16:41:37 1994
)
From: deforest@netcom.com (Robert de Forest)
To: jeffpk@netcom.com (Jeff Kesselman)
Date: Sat, 26 Nov 1994 13:31:06 -0800 (PST)
Cc: coldstuff@MIT.EDU
In-Reply-To: <199411260120.RAA01363@netcom5.netcom.com> from "Jeff Kesselman" at Nov 25, 94 05:20:09 pm
>
> Okay. My first one seemed so easy to you all, here's another one....
>
>
> Object A
> defines foo which contains a 'pass' function call
>
> Object B
> is a child of Object A
>
> Object C
> is a child of Object A
>
> Obejct D
> is a child of Obejct B and Object C
> defines foo which contains a 'pass' function call.
>
> How many copies of Object A's data fields end up in Object D, and how many
> times will D.foo() call A.foo() ?
>
> Thanks again,
>
> Jeff Kesselman
>
>
I believe the manual answers all this. Also, it is easy enough to test this on
a running server. I will try to answer your questions anyway.
D.foo() will call A.foo() once, and A.foo() will try to call the .foo() on
its parents if one exists, or will throw ~methodnf if not.
D.foo will have NO copies of A's data fields, but WILL have parameters
associated with A which A.foo, but not D.foo can manipulate.
As an example, if you have $vr_object with parameter 'vr_owner, a child of
$vr_object called $located and a child of $vr_object called $location, and
a child of $located and $location called $thing, then $thing will have one
'vr_owner parameter associated with the parent $vr_object.
I am not sure what happens when all of the above objects have a .info method
and they all pass(). Could someone try this and post it, or Could Greg tell
us and also why he chose this way? (I'm curious since I don't know and such.)
Crag / Robert