Объектно-ориентированное программирование.Язык Смолток



             

Сообщения - часть 2


Таким образом, имеется возможность создания посылок сообщений без использования специальных символов селекторов.

Сообщение анализируется получателем, и поэтому два синтаксически одинаковых предложения, будучи посланы разным получателям, могут вызвать разные действия. Например, согласно сообщению

cursor moveTo:locationA

курсор будет передвинут в положение A (locationA), а согласно сообщению

window moveTo:locationA

в положение A будет перемещен выделенный фрагмент экрана - окно. В некоторых случаях разбор сообщения может окончиться неудачей. Например, в сообщении table+5 к столу нельзя прибавить 5: объекту table посылать сообщение +5 некорректно. В этом случае системой фиксируется ошибка по невозможности выполнения.

Унарное сообщение имеет более высокий приоритет, чем бинарные. Приоритет может задаваться скобками.

Например, x - y size = x - (y size).

Приведем некоторые примеры сообщений и их результатов:

Сообщение

Тип

Объект-адресат

Имя сообщения

Объект-параметр

Результат

1 + 2

Бинарное сообщение

1 (целое)

+

2 (Целое)

Целое

'привет' inPos: 5

Ключевое сообщение

'привет' (строка)

inPos:

5 (Целое)

Символ

12 factorial

Унарное сообщение

12 (целое)

factorial

Нет

Целое

5 in:3 and:7

Ключевое сообщение

5 (целое)

in: and:

3, 7 (Целое)

Истина




Содержание  Назад  Вперед