[825] in Coldmud discussion meeting
protected and private object variables
daemon@ATHENA.MIT.EDU (Sat Oct 14 00:22:54 1995
)
Date: Fri, 13 Oct 1995 22:17:43 -0600
From: 869683 Gillespie Brandon James <brandon@smithfield.declab.usu.edu>
To: coldstuff@pippin.ece.usu.edu
I've been thinking we should have protected and private object variables
Basically, a protected variable would be as it is now. A private variable
would act a little differently. Basically, it cannot be derived by a child,
but you can access it executing as a child with a method defined on the
definer. Best explained with an example:
-------------
object $foo;
private var bar = [1,2,3];
protected var mybar = [];
public test {
arg test;
if (test in bar)
mybar = [@(mybar || []), test];
};
new object $foo_1: $foo;
-------------
From this, $foo_1,test starts as 0. I call $foo_1.test(1), and $foo_1,test
becomes [1], because 'test in bar' gets the value of bar from $foo, rather
than from $foo_1, because it is a private variable. If $foo_1 were to
define another method, and attempt to access bar, it would not work (just
as it should not).
Is this something I should add?
-Brandon