0

Neuron という名前のクラスがあり、Neuron オブジェクトが発火すると、クラス Synapse のすべてのオブジェクトに発火するよう信号を送ります。クラスニューロンからシナプスに信号を送信する方法がわかりません。誰か説明できますか?

4

2 に答える 2

0

PropertyChangeSupportクラスを使用すると、Neuron クラスを Synapse クラスのイベント ソースにすることができます。Synapse クラスはリスナーとして登録し、Neuron クラスは必要に応じてイベントを発生させます。

于 2016-04-05T00:14:35.140 に答える
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...
    }
}
于 2016-04-05T00:29:06.157 に答える