Any points to clarify my confusion would be greatly appreciated.

This is an interesting question that is often asked at exams ;-)

The first thing to notice is that 'super' references the receiver but
changes the way the method it looked up, therefor

  self = super

is always true. Furthermore

  self class = super class

is true as well, since self and super both represent the receiver,
again super just changes the place where the lookup of #class is
started. "self class" and "super class" both answer the class of the
receiver.

It seems to me that "super new" and "superclass new" should do the same thing.

Now to come to your example: "super new" starts the lookup of #new in
the superclass, however the receiver of the message is unchanged and
you get an instance of the receiving class. "superclass new" creates
an instance of the superclass, as you would expect the receiver of the
message #new is the superclass.

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to