Создание портов с нестандартной функциональностью
Вы можете изменить поведение порта, задав
Действие при получении
и
Действие при отправке
сообщений. Однако, если заданная вами функциональность требуется сразу в нескольких портах, то лучше создать свой класс порта. Тогда вместо написания одного и того же кода в свойствах всех портов в вашей модели, вам нужно будет просто создать свой
класс порта и сделать порты в вашей модели экземплярами этого класса.
Чтобы создать класс порта
- В панели Проекты, щелкните правой кнопкой мыши по модели и выберите Создать > Java класс…
из контекстного меню.
- Откроется диалоговое окно Новый Java класс.
- Введите имя нового класса в поле Имя.
- Задайте имя базового класса. Введите
Port
в поле Базовый класс. Класс
Port является базовым классом для всех классов портов в AnyLogic. Этот класс обеспечивает основную функциональность по отправке и приему сообщений, и если вы хотите изменить заданное по умолчанию
поведение порта, создав свой собственный класс порта, то вам нужно будет унаследовать его от класса
Port.
- Щелкните мышью по кнопке Готово.
- Вы увидите окно редактора кода только что созданного класса. Здесь вы можете редактировать код вашего класса порта, например, переопределить какие-то функции базового класса
Port.
- Когда вы закончите, нужно будет сделать те порты, которые должны обладать функциональностью созданного класса,
экземплярами этого класса.
Вы можете создать класс порта не только так, как это описано здесь, с помощью Java класса, но и
во
внешнем файле
или в
библиотеке. Создавая класс в библиотеке или во внешнем файле, вы сможете в дальнейшем использовать этот класс и в других моделях.
Чтобы сделать порт экземпляром созданного класса порта
- Выделите порт на диаграмме.
- Перейдите в секцию
Специфические
панели свойств порта и установите флажок
Порт пользовательского класса.
- В поле Код конструктора
добавьте вызов конструктора созданного класса порта, например,
MyPort(this)