2

抽象クラスとそれを継承する他の5つのクラスがあります。
この抽象クラスにDictionaryの1つのインスタンスを保持し、他のすべてのクラスにこのDictionaryに値を追加/削除する機能を与えたいと思います。

この辞書を「静的」と定義したくない。

どうすればいいですか?

4

2 に答える 2

4

次のように定義します

保護された辞書d..。

すべてのサブクラスに表示されます。

staticキーワードは、クラスのすべてのインスタンスに共有される辞書を定義するため、間違った選択です。まったく違うものです

于 2013-02-28T14:48:49.007 に答える
1

これを行うためのより良い方法は、ディクショナリを保持する別のシングルトンクラスを用意し、そのシングルトンクラスを基本クラスのプロパティにすることです。これにより、辞書をカプセル化するシングルトンクラスの1つのインスタンスを確保しながら、静的な使用を回避できます。抽象クラスの保護されたメンバーにすると、ディクショナリを含むクラスの単一インスタンスへのすべてのサブクラスにアクセスできるようになります。

于 2013-02-28T15:25:35.867 に答える