2016-04-05 7 views
0

私はNeuronという名前のクラスを持っています。そして、Neuronオブジェクトが起動すると、Synapseクラスのすべてのオブジェクトにシグナルを送ります。私はNeuronクラスからSynapseに信号を送る方法を誰にも分かりません。Java離散事象シミュレーション、別のオブジェクトのクラスへの信号の送信方法

+0

2つの回答のいずれかが問題なく機能しましたか? –

答えて

0

ニューロンクラスは、PropertyChangeSupportクラスを使用してSynapseクラスのイベントソースにすることができます。 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... 
    } 
}