[Zope-dev] Why is it _setObject(), and why is it undocumented

Dieter Maurer dieter@handshake.de
Sat, 1 Feb 2003 21:28:56 +0100


Lennart Regebro wrote at 2003-2-1 15:48 +0100:
 > From: "Max M" <maxm@mxm.dk>
 > > Sorry but I don't see that. How on earth are you suposed to add an
 > > object to an objectmanager, if you don't use _setObject() ??
 > 
 > You use another method that in turn calls _setObject.
 > 
 > Now you may argue that there should be a public method that does the same,
 > but that is strictly another question.
 > 
 > > Every time you make an object that subclasses ObjectManager, wich is
 > > often, you need to use that function. That can hardly be called private.
 > 
 > It depends on what you define as "private". I have never seen the use of
 > shielding a method from future subclasses of a class. It only causes
 > problems and unessecary restrictions. For me, private means that you shield
 > it from use outside of the object, not from your subclasses.
Some more notes about "private".

   "private" as used in Zope is not the "private used in C++ (or Java)".

   In Python, "C++'s private" is emulated by names starting with "__"
   (and not ending in "__"). Such attributes can not be
   (easily) accessed by subclasses.

   Zope's private means "cannot be used by TTW code".


Dieter