<HEAD><TITLE>discuss@charon: [598] in "Coldmud discussion meeting"</TITLE>
<H1>[598] in Coldmud discussion meeting</H1></HEAD>
<A HREF="/"><IMG SRC="/i-d.gif" ALT="root"></A>
<A HREF="?598"><IMG SRC="/i-back.gif" ALT="meeting"></A>
<A HREF="/help.html"><IMG SRC="/i-help.gif" ALT="help"></A>
<A HREF="1"><IMG SRC="/i-first.gif" ALT="first"></A>
<A HREF="597"><IMG SRC="/i-fref.gif" ALT="first in chain"></A>
<A HREF="597"><IMG SRC="/i-pref.gif" ALT="previous in chain"></A>
<A HREF="597"><IMG SRC="/i-prev.gif" ALT="previous"></A>
<A HREF="599"><IMG SRC="/i-next.gif" ALT="next"></A>
<IMG SRC="/n-nref.gif" ALT="">
<IMG SRC="/n-lref.gif" ALT="">
<A HREF="1641"><IMG SRC="/i-last.gif" ALT="last"></A>
<HR><H2>Re: Another inheritance question.</H2>
<H3>daemon@ATHENA.MIT.EDU (Sat Nov 26 16:41:37 1994
)</H3>
<PRE>
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: &lt;199411260120.RAA01363@netcom5.netcom.com&gt; from "Jeff Kesselman" at Nov 25, 94 05:20:09 pm

&gt; 
&gt; Okay. My first one seemed so easy to you all, here's another one....
&gt; 
&gt; 
&gt; Object A
&gt;    defines foo which contains a 'pass' function call
&gt; 
&gt; Object B
&gt;   is a child of Object A
&gt; 
&gt; Object C
&gt;   is a child of Object A
&gt; 
&gt; Obejct D
&gt;   is a child of Obejct B and Object C
&gt;   defines foo which contains a 'pass' function call.
&gt; 
&gt; How many copies of Object A's data fields end up in Object D, and how many 
&gt; times will D.foo() call A.foo() ?
&gt; 
&gt; Thanks again,
&gt; 
&gt; Jeff Kesselman
&gt; 
&gt; 

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
</PRE>
