function overloading

Simon Burton simonb at webone.com.au
Tue Jul 1 22:47:00 EDT 2003


Yes, it's a good idea; and that's how i started; i just can't remember all the different names.
Lazy init is a good idea too... But it adds a level to the class
invariant.
It seems i am the lazy one:

def __init__(self,*args,**kwargs):
  read_and_dispatch( args, kwargs, (self.init1,self.init2, ... ) )

was what i had in mind, but unless each init has a different signature,
it's gonna get more hairy:

class Signature:
  def __init__( self, siglist ):
    pass

class TypeSignature:
  pass

class InstanceSignature:
  pass

blah.

Simon Burton.


On Tue, 01 Jul 2003 16:03:17 -0400, John Roth wrote:

> 
> I'd subclass it. I see three classes here:
> 
> class Image:
>     def __init__(self, oldImage)
> 
> class NewImage(Image):
>     def __init__(self, height, width):
> 
> class ImageFromDisk(Image):
>     def __init__(self, fileName):
> 
> The subclasses only override the __init__ method
> of the base class.
> 
> An alternate method of dealing with the situation
> is to do lazy initialization. In other words, don't provide
> any parameters on the construction, and provide three
> different methods for initializing the resulting object.
> 
> John Roth





More information about the Python-list mailing list