2015-03-02 5 views
0

Я хочу знать, если это возможно иметь что-то вроде этого:Наследование Базовый класс с одним экземпляром

  • базовый класс A1
  • производный класс A2: A1
  • производный класс A3: A1

иметь только один экземпляр A1? Потому что, когда я использую ctor(params):base(params) для каждого производного класса A2, A3, создайте новый экземпляр A1, и я хочу этого избежать.

ответ

4

Via inheritance, no. Это невозможно. Если вы выбрали композицию, это может быть выполнено.

A1 становится Singleton.

A2 и A3 оба имеют ссылку на экземпляр Singleton A1 и проксируют соответствующие вызовы к этому экземпляру.

Смежные вопросы