Lawrence D'Oliveiro wrote: > In article <[EMAIL PROTECTED]>, > "Carl Banks" <[EMAIL PROTECTED]> wrote: > > >bruno at modulix wrote: > >> [EMAIL PROTECTED] wrote: > >> > I was wondering, why you always have to remember to call bases' > >> > constructors > >> > >> <pedantic> > >> s/constructors/__init__/ > >> > >> the __init__() method is *not* the constructor. Object's instanciation > >> is a two-stage process: __new__() is called first, then __init__(). > >> </pedantic> > > > >You know, Python's __init__ has almost the same semantics as C++ > >constructors (they both initialize something that's already been > >allocated in memory, and neither can return a substitute object). I > >actually think constructors are misnamed in C++, they should be called > >initializers (and destructors finalizers). > > "Constructor" is also the term used for the corresponding method in Java. > > Is there any OO language that does not use "constructor" in this sense? > I don't think there is one. This is standard OO terminology.
Python? Yeah, I realize it's common terminology, but I just think it's a poor name. That Python doesn't really call __init__ a constructor is good (I guess it doesn't really call it anything but __init__), because constructor would be a bad name for it. Carl Banks -- http://mail.python.org/mailman/listinfo/python-list