У меня есть класс под названием Neuron, и когда объект Neuron срабатывает, он сигнализирует всем объектам класса Synapse для запуска. Я не уверен, как отправить сигнал Synapse из класса Neuron, может ли кто-нибудь объяснить?Java Discrete Event Simulation, как сигнализировать класс другого объекта
0
A
ответ
0
Класс Neuron может быть источником события для класса Synapse, используя класс PropertyChangeSupport. Регистры Synapse регистрируются как слушатели, а класс Neuron запускает событие по мере необходимости.
0
Объект Neuron должен содержать список всех экземпляров объекта Synapse, только тогда он сможет отправлять события или сигналы объектам Synapse. Это похоже на шаблон Observer. Чтобы дать вам представление о том, как это будет работать, см. Следующие
class Neuron {
List<Synapse> subscribers = new ArrayList<>();
private Neuron neuron;
private Neuron(){}
public static Neuron getInstance(){
if(neuron == null)
neuron = new Neuron();
return neuron;
}
public void addSubscribers(Synapse s){
subscribers.add(s);
}
public void fireEvent(Event x){
for(Synapse s: subscribers){
subscriber.notifyEvent(x);
}
}
}
class Synapse{
public void subscribe(){
Neuron.getInstance().subscribe(this);
}
public void NotifyEvent(Event x){
//to somthing...
}
}
Был ли один из 2 ответов предоставлен вам? –