Базисная конструкция
Простота типизации в ОО-подходе есть следствие простоты объектной вычислительной модели.
Опуская детали, можно сказать, что при выполнении ОО-системы происходят события только одного
рода - вызов компонента (feature call):
x.f (arg)
означающий выполнение операции f над объектом, присоединенным к x, с передачей аргумента arg
(возможно несколько аргументов или ни одного вообще). Программисты говорят в этом случае о
“передаче объекту x сообщения f с аргументом arg”, но это - лишь отличие в терминологии, а
потому оно несущественно.
То, что все основано на этой Базисной Конструкции (Basic Construct), объясняет частично ощу-
щение красоты ОО-идей.
Из Базисной Конструкции следуют и те ненормальные ситуации, которые могут возникнуть в
процессе выполнения:
Определение: нарушение типа
Нарушение типа в период выполнения или, для краткости, просто нарушение типа (type violation)
возникает в момент вызова x.f (arg), где x присоединен к объекту OBJ, если либо:
• не существует компонента, соответствующего f и применимого к OBJ,
• такой компонент имеется, однако, аргумент arg для него недопустим.
Ключевым является слово когда. Рано или поздно вы поймете, что имеет место нарушение типа.
Например, попытка выполнить компонент “Пуск торпеды” для объекта “Служащий” не будет рабо-
тать и при выполнении произойдет отказ. Однако возможно вы предпочитаете находить ошибки как
можно раньше, а не позже.