Les chaînes de caractères sont des instances de la classe String. L’instance la plus simple est la chaîne ’’, la chaîne vide. La classe String, étant une sous-classe de ArrayedCollection, comprend, en plus de ses propres messages, la majorité des messages des autres collections, et – surtout – le message de concatenation de deux collections: le message “,”. Ci-dessous quelques exemples de transmissions de messages à des chaînes de caractères et le résultat de leur évaluation (précédé par le caractère “~”):
Ouvrez un explorateur de classes sur la classe String et examinez les différentes méthodes; afin de comprendre, comme toujours, construisez-vous des exemples de leur utilisation et testez-les.
Notons que dans l’exemple:
Dans notre exemple, le message at:put: retournant le deuxième argument (le caractère $H), la cascade avec yourself force le retour du receveur de ce message, qui est clairement la chaîne de caractère ’Jean disait: ’’hello’’’. Puisque cette chaîne a été physiquement modifiée par le message at:put: en la chaîne ’Jean disait: ’’Hello’’’, c’est cette dernière chaîne de caractères qui est retournée par yourself. Nous ne pouvons pas utiliser ici la pseudo-variable self, puisque celle-ci se réfère au receveur du sélecteur de la méthode à l’intérieur de laquelle ce self a une occurrence. Ici nous ne sommes pas dans une méthode30.
Tout est très simple: chaque fois que vous voulez être sûr qu’une transmission retourne le receveur de cette transmission, vous pouvez le garantir en cascadant la transmission avec le message yourself.