2016-12-07 17 views
-2

Я настраиваю модель, используя библиотеку моделирования процессов Anylogic. У меня есть класс агента под названием «Клиент» и он имеет логическую переменную под названием «VIP». У меня есть два источника, которые создают экземпляры типа Customer. Я хочу получить доступ к переменной «VIP» каждого созданного экземпляра, поэтому я могу установить ее равной true в первом источнике и установить ее равной «false» во втором. Как я могу получить доступ к полю класса «VIP» каждого из этих экземпляров в «источнике» или позже в «selectOutput», когда я их сортирую?Как получить доступ к элементам данных класса в Anylogic

Благодаря

ответ

1

Создайте новый экземпляр класса с именем данных, например:

Customer john = new Customer(); 
Customer jane = new Customer(); 

Внутри вашего класса клиента я рекомендую использовать методы получения и установки для вип, такие как:

public static void getVIP() 
{ 
    return VIP; 
} 

public static void setVIP(boolean choice) 
{ 
    VIP = choice; 
} 

Тогда просто сделать это за то, что ваш реальный объект имя экземпляра будет

john.setVIP(true); 
jane.setVIP(false); 
+0

Спасибо за ответ. Проблема заключается в том, что источником является создание тысяч экземпляров этого типа класса, и это делается автоматически, поэтому вы не можете использовать имена для всех из них. – Eman

2

Вы можете сделать это от действий Source блока, например, внутри его на выход В действии: agent.VIP = true;

agent локальная переменная, которая относится к агенту, который покидает Source блок в данный момент. Вы можете узнать локальные переменные в Bank Office tutorial.

+0

Спасибо за очищение. – Eman