Как выполнить 1 базовый метод при 2 вызовах?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как выполнить 1 базовый метод при 2 вызовах?

Сообщение Anonymous »

У меня есть проект Anylogic (но у меня та же проблема на Java). У меня есть две реализации класса и, соответственно, два места кода (события), из которых мне нужно вызвать какой-то базовый метод. Этот базовый метод должен выполняться после каждого вызова события. Проблема в том, что мне нужно выполнить базовый метод только 1 раз для любого количества вызовов событий в один и тот же момент.
Например. У меня есть 2 класса с именем Enter. В каждом классе Enter есть событие OnEnterSpeedChange. Эти 2 класса Enter прикреплены к одному основному классу с именем AllEnter. У AllEnter есть собственное событие «OnEnterSpeedChange», которое вызывается каждый раз, когда хотя бы один из Enter выполняет событие «OnEnterSpeedChange». Но если событие OnEnterSpeedChange будет вызывать класс First Enter и класс Second Enter в одно и то же модельное время, то каждый из его методов будет вызывать базовый метод, а базовый метод также будет вызываться дважды. И мне нужно сделать это только один раз!
Как это решить?
P.S. У меня есть агент (Agent1), на котором находится элемент Valve. Я помещаю этого агента внутрь другого Агента 2 (по сути, перетаскиваю его в рабочее пространство другого агента). После перетаскивания Агента 1 к Агенту 2 я создаю популяцию Агента 1. Каждый элемент популяции Agent1 имеет внутреннее событие (проходящее через Valve) OnSpeedChange. У меня есть соответствующий метод для Агента2: каждый раз, когда скорость любого элемента популяции агента1 меняется, необходимо выполнить метод на Агенте2. Но изменения скорости у агента1 произошли в одно и то же модельное время (например, в начале моделирования, когда скорость изначально = 0, а затем стала больше 0), то аналогичный метод для агента2 следует вызвать только 1 раз.

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-2-calls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»