creating an object from base class

Bruno Desthuilliers bdesth.quelquechose at free.quelquepart.fr
Fri Apr 27 17:58:39 EDT 2007


iogilvy at attglobal.net a écrit :
> i wish to have some extended functionality added to sockets
> 
> i can create my own socket class   class mysocket(socket.socket):
> 
> and all should be fine. Except, the sockets are created for me by the
> accept method, listening on port. So how can i take the standard
> socket created for me and create a 'mysocket'. I need a method that
> will initialise any new properties i have added in my class, but how
> can i change the class of the socket created?

object.__class__ = OtherClass

But this may not be the wisest solution. What you want is not 
inheritance, it's decoration (AKA wrapping). IOW : instead of directly 
using accept(), use a wrapper around it that will returns socket objects 
wrapped in your own class.

My 2 cents...



More information about the Python-list mailing list