dynamic
James Carroll
mrmaple at gmail.com
Wed Jun 15 10:39:28 EDT 2005
Returning instances of some other class is not so horrible. They're
called FactoryMethods usually.
An example is when you have a polymorphic tree of image file reader
objects, and you open an image file, it might return a JpegReader
which ISA ImageReader or a TIFFReader which also ISA ImageReader, but
you want all of the 'which class do I need for this data?' logic to
be in one place.
-Jim
On 15 Jun 2005 03:12:07 -0700, Michele Simionato
<michele.simionato at gmail.com> wrote:
> Having a class that returns instances
> of some other class is horrible, but
> since you asked for it:
>
> class A(object): pass
> class B(object): pass
>
> class Foo(object):
> def __new__(cls, arg):
> if arg=="a":
> return A()
> else:
> return B()
>
> print Foo("a")
> print Foo("b")
>
> Michele Simionato
>
> P.S. don't do it!
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
>
More information about the Python-list
mailing list