This is not something fundamental to OOP, just specific to Pharo or Smalltalk.
Take for example Python. It has similar object model (objects, classes, metaclasses). Every time class is defined (either by class keyword, or by type() function, or by calling a metaclass), its metaclass' __init__ method is called. Usually you don't need to redefine metaclass' __init__ method, because class attributes are initialized in class definition. But when you do, it works as expected. 27.08.2014 15:50, kilon.alios [via Smalltalk] написав(ла): > I will be adding an "Introduction to Object Orientation" chapter to the > new updated Pharo By Example online book, so I will add this to the > chapter. The chapter will target people not familiar with Object > Orientation and people new to coding. Its not an immediate target but it > will happen till the end of the year. > > > On Wed, Aug 27, 2014 at 3:44 PM, Mariano Martinez Peck <[hidden email] > </user/SendEmail.jtp?type=node&node=4775051&i=0>> wrote: > > > > > On Wed, Aug 27, 2014 at 8:22 AM, webwarrior <[hidden email] > </user/SendEmail.jtp?type=node&node=4775051&i=1>> wrote: > > As class is just an object in Smalltalk, it would be reasonable > to believe > that #initialize message is always sent to class on creation. > > However, that's not true. It is only sent to classes that redefine > #initialize. Also sending super initialize may lead to problems. > > > Ohhh yes. There is always a time for every Smalltalkers where you > discover that doing super for class side initialize is not a good idea. > Here was my time: > > http://forum.world.st/super-initialize-is-not-a-good-idea-for-Behaviors-td3086162.html > > None of these is mentioned in documentation (I assume Pahro By > Example is > the official one). It only says that #initialize is sent when > class is > loaded into memory. > > I think either this behavior should be made more consistent, or > excplicitly > mentioned in the docs. > > > > +1 to the documentation > > > > > -- > View this message in context: > > http://forum.world.st/Unintuitive-behavior-of-class-side-initialize-tp4775042.html > Sent from the Pharo Smalltalk Users mailing list archive at > Nabble.com. > > > > > -- > Mariano > http://marianopeck.wordpress.com > > > > > ------------------------------------------------------------------------ > If you reply to this email, your message will be added to the discussion > below: > http://forum.world.st/Unintuitive-behavior-of-class-side-initialize-tp4775042p4775051.html > > To unsubscribe from Unintuitive behavior of class-side initialize, click > here > <http://forum.world.st/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4775042&code=cmVnQHdlYndhcnJpb3Iud3N8NDc3NTA0MnwzOTM0MDk5MzI=>. > NAML > <http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > -- View this message in context: http://forum.world.st/Unintuitive-behavior-of-class-side-initialize-tp4775042p4775088.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.