2

我有一个抽象类和其他五个继承自它的类。
我想在这个抽象类中保存一个 Dictionary 实例 - 并让所有其他类能够从这个 Dictionary 中添加/删除值。

我宁愿不将此字典定义为“静态”。

我该怎么做?

4

2 回答 2

4

将其定义为

受保护的字典d ...

它将对所有子类可见。

static 关键字是错误的选择,因为它定义了一个共享给类的所有实例的字典。这是完全不同的事情

于 2013-02-28T14:48:49.007 回答
1

这样做的更好方法可能是拥有一个单独的 Singleton 类来保存您的字典,并使该 Singleton 类成为您的基类的属性。这将使您避免使用静态,同时确保封装字典的单例类的一个实例。使其成为抽象类的受保护成员允许访问包含字典的类的单个实例的所有子类。

于 2013-02-28T15:25:35.867 回答