[Tutor] Challenge supporting custom deepcopy with inheritance
Alan Gauld
alan.gauld at btinternet.com
Tue Jun 2 01:48:10 CEST 2009
"Kent Johnson" <kent37 at tds.net> wrote
> > We can fake the Delphi style by using a default constructor and then
> > just
> > calling the "constructors" after initialisation:
> > But its two lines not one... :-(
>
> Why not this?
>
> class C:
> def __init__(self): pass
>
> @staticmethod
> def LoadFromFile(fname, count):
> c = C()
> # init c from the file
> return c
>
> and similar for Create(). Client code is one line:
> c = C.LoadFromFile(fn, cnt)
Why not indeed?! I must remember that pattern for future reference.
Wish I'd thought of it a few months ago when I was wrestling with a
problem that could have used multiple constructors!
Alan G.
More information about the Tutor
mailing list