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