Nous avons déjà décrit en détail ces
deux pseudo-variables dans la section 2.7 (pages 119 et suivantes) et dans le
chapitre précédent. Ici, rappelons juste qu’en tant que receveur d’un message,
self et super désignent le même objet, le receveur du message correspondant à la
méthode à l’intérieur de laquelle elles sont utilisées. La différence entre
ces deux pseudo-variables est que si l’on envoie un message à self, la
recherche de la méthode correspondant au sélecteur de la transmission
commence dans la classe de l’objet désigné par cette pseudo-variable et que si,
par contre, on envoie un message à super, la recherche de la méthode
débute dans la sur-classe de la classe qui contient la méthode qu’on est en
train d’exécuter ou, moins clair mais plus formel: la sur-classe de la classe
qui contient la méthode qui contient cette transmission de message à
super.