5.4.1. ИСПОЛНЕНИЕ КОНСТРУКТОРОВ

Доказательство (исполнение) простого конструктора приводит к формированию нового экземпляра заданного класса C и включает следующие действия:

  1. Построение пространства поиска экземпляра класса C.
    В состав пространства поиска включаются предложения самого класса C, затем (в соответствии с иерархией наследования) предложения его непосредственного предка D, предложения непосредственного предка класса D и так далее, пока не будет достигнут класс, не имеющий предка в иерархии наследования.
  2. Построение слотов экземпляра класса.

Доказательство (исполнение) конструктора процесса приводит к построению нового процесса. В результате доказательства конструктора процесса, новый процесс устанавливается в состояние "объявленный". Исполнение конструктора процесса не приводит к построению пространства поиска созданного процесса. Построение соответствующего пространства поиска и слотов процесса осуществляется позже, в ходе "формирования" процесса.

Формирование процесса вызывается процессом, который является его создателем (см. раздел 7.4.3). Формирование процесса включает следующие действия:

  1. Доказывается простой конструктор, заданный в составе конструктора процесса.
  2. Определяются порты процесса, в соответствии с описателями портов, заданными в аргументах конструктора процесса и определениях соответствующих классов.
  3. Проверяются текущие значения портов процесса и, в соответствии с правилами переключения состояний процесса "используемый" и "неиспользуемый" (см. раздел 5.2.1), процесс переводится в состояние "используемый сформированный" или в состояние "неиспользуемый".
  4. Процессу автоматически посылается инициализирующее потоковое сообщение.

В случае если формирование процесса заканчивается аварийной ситуацией, вызывается встроенный обработчик ошибок.

Доказательство (исполнение) конструктора резидента приводит к построению нового резидента. Доказательство конструктора резидента включает следующие действия:

  1. Переменная, созданная в качестве начального значения слота процесса-владельца, инициализатором которого является конструктор резидента (см. раздел 5.4.2), объявляется защищающим портом резидента.
  2. Все остальные общие переменные, заданные в составе конструктора резидента, объявляются простыми портами резидента.
  3. Новый резидент начинает функционировать.

Ссылки: владелец резидента 5.3, защищающий порт 5.2.2, значение порта 5.2.2, иерархия наследования 4.1, инициализатор 4.1.2, инициализирующее сообщение 7.4.3, используемый процесс 5.2.1, класс 4.1, конструктор 4.1.3, конструктор процесса 4.1.3, конструктор резидента 4.1.3, мир 5.1, начальное значение слота 5.4.2, неиспользуемый процесс 5.2.1, общие переменные 7.2, объявленный процесс 5.2.1, описатель порта 4.1.1, переменная 2.1.1, порт 5.2.2, построение слотов 5.4.2, потоковые сообщения 7.4.3, предложение 6, простой конструктор 4.1.3, простой порт 5.2.2, процесс 5.2, резидент 5.3, слот 5.1, создатель процесса 5.2, состояние процесса 5.2.1, сформированный процесс 5.2.1.


Следующий: 5.4.2. ПОСТРОЕНИЕ СЛОТОВ
Предыдущий: 5.4. ПОСТРОЕНИЕ ПРОСТРАНСТВА ПОИСКА


5.4. ПОСТРОЕНИЕ ПРОСТРАНСТВА ПОИСКА
КОРНЕВАЯ СТРАНИЦА
ОГЛАВЛЕНИЕ
СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС)