Создание портов с нестандартной функциональностью

Вы можете изменить поведение порта, задав Действие при получении и Действие при отправке сообщений. Однако, если заданная вами функциональность требуется сразу в нескольких портах, то лучше создать свой класс порта. Тогда вместо написания одного и того же кода в свойствах всех портов в вашей модели, вам нужно будет просто создать свой класс порта и сделать порты в вашей модели экземплярами этого класса.

 Чтобы создать класс порта

  1. В панели Проекты, щелкните правой кнопкой мыши по модели и выберите Создать > Java класс… из контекстного меню.
  2. Откроется диалоговое окно Новый Java класс.
  3. Введите имя нового класса в поле Имя.
  4. Задайте имя базового класса. Введите Port в поле Базовый класс. Класс Port является базовым классом для всех классов портов в AnyLogic. Этот класс обеспечивает основную функциональность по отправке и приему сообщений, и если вы хотите изменить заданное по умолчанию поведение порта, создав свой собственный класс порта, то вам нужно будет унаследовать его от класса Port.
  5. Щелкните мышью по кнопке Готово.
  6. Вы увидите окно редактора кода только что созданного класса. Здесь вы можете редактировать код вашего класса порта, например, переопределить какие-то функции базового класса Port
  7. Когда вы закончите, нужно будет сделать те порты, которые должны обладать функциональностью созданного класса, экземплярами этого класса.

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

 Чтобы сделать порт экземпляром созданного класса порта
  1. Выделите порт на диаграмме. 
  2. Перейдите в секцию Специфические панели свойств порта и установите флажок Порт пользовательского класса.
  3. В поле Код конструктора добавьте вызов конструктора созданного класса порта, например, MyPort(this)