[Zope] Subclassing Confusion
Michel Pelletier
michel@digicool.com
Wed, 19 Jan 2000 15:43:55 -0500
> -----Original Message-----
> From: James W. Howe [mailto:jwh@allencreek.com]
>
> What do I need to do to have the name "RenderableImage" in my
> base class
> list instead of two "Image" entries?
Your RenderableImage class inherits meta_type from Image, which is why
there apear to be two Image classes. You have two of them because they
both look identical to Zope, you have essentially taken a rich class and
created another rich class with a little extra functionality. Both of
these objects have the meta_type 'Image', for example, which is why you
see two of them with the same name in the class list. They are
different classes, but they have very similar meta-data associated with
them.
What you should do is create a very thin python class which you MIX-IN
along with the rich Image class into a new ZClass with a new meta_type.
So instead of:
Image->YourClass
You have:
Image \
-> YourClass
ThinBaseClass /
Where 'ThinBaseClass' defines your new __str__ method and mixes this
with the existing Image class into a new ZClass (with a new meta_type).
Your thin base class can be very thin indeed:
class ThinBaseClass:
def __str__(self):
## whatever...
pass
-Michel
-Michel