[Zope] How can I create static member variables for a product?

Tino Wildenhain tino@wildenhain.de
Tue, 26 Nov 2002 10:48:48 +0100


Hi Naveen,

--On Dienstag, 26. November 2002 11:39 +0530 Naveen <pnaveen@zeomega.com> 
wrote:

> Hello Tino,
> Thanks for your reply.
>
> Here what I did.
>
> I did this using 'Add Product' from control panel(Product Management)'
> later I added ZClass to it. I added an property sheet in it.
>
> At the end I have created two instance instance of that zclass.
> I have changed the the property in one instance.
>
> When I look into another instance of same product does not seem to be
> changed.

Sure, if you change the property in the instance, you put a copy of the
attribute in the instance thus overlapping with the attribute still provided
with the class. So you dont change the class attribute but you have a new
changeable attribute in the object with same name. The other, unchanged
instance of course sees the class attribute.

This is standard behavior of OO languages as far as I see.

You could provide a method to change the classes attribute, which
calls 
Products.YourProduct.YourZClass.propertysheets.yourpropertysheet.edit_prope
rties()
 or change_properties() for it.

Compare:

class Foo:
    a="I'm of foo"

A=Foo()
B=Foo()

B.a="I'm b-ish"

print B.a
-> I'm b-ish

print A.a
-> I'm of foo

Foo.a="I'm changed"

print A.a
-> I'm changed

print B.a
-> I'm b-ish
(still)

HTH
Tino Wildenhain


> Any idea?
>
> With Regards
> Naveen
> pnaveen@zeomega.com
>
>
> On Mon, 25 Nov 2002, Tino Wildenhain wrote:
>
>> Hi Naveen,
>>
>>
>>
>> --On Montag, 25. November 2002 22:44 +0530 Naveen <pnaveen@zeomega.com>
>> wrote:
>>
>> > Hi All,
>> >
>> > Is there any way to create a product with static member variables?
>> >
>> > For example.
>> > The properties should be common for all the instance of same product.
>> > That property can be an attribute of the product.
>>
>> This is exactly what (Z)Class Properties use to do :-)
>>
>> Regards
>> Tino
>>
>> _______________________________________________
>> Zope maillist  -  Zope@zope.org
>> http://lists.zope.org/mailman/listinfo/zope
>> **   No cross posts or HTML encoding!  **
>> (Related lists -
>>  http://lists.zope.org/mailman/listinfo/zope-announce
>>  http://lists.zope.org/mailman/listinfo/zope-dev )
>>
>