Dynamic subclassing ?

manatlan manatlan at gmail.com
Sat May 12 09:34:48 EDT 2007


I've got an instance of a class, ex :

b=gtk.Button()

I'd like to add methods and attributes to my instance "b".
I know it's possible by hacking "b" with setattr() methods. But i'd
like to do it with inheritance, a kind of "dynamic subclassing",
without subclassing the class, only this instance "b" !

In fact, i've got my instance "b", and another class "MoreMethods"

class MoreMethods:
    def  sayHello(self):
          print "hello"

How could i write ...

"b = b + MoreMethods"

so "b" will continue to be a gtk.Button, + methods/attributs of
MoreMethods (it's what i call "dynamic inheritance") ...so, things
like this should work :

- b.set_label("k")
- b.sayHello()

I can't find the trick, but i'm pretty sure it's possible in an easy
way.
Help is welcome
thanx




More information about the Python-list mailing list