Допустим в классе А объявлено свойство типа В. Класс А в процессе своей работы создает и уничтожает экземпляры класса В, временно сохраняя их в этом свойстве. Существует несколько типов-наследников класса В (вообще-то он абстрактный). Мне нужно как-то описать такое свойство класса А, чтобы оно содержало ссылку на тип, а не на экземпляр, ну и реально инициализировать это свойство одним из наследников класса В. Т.о. образом, в процессе работы класса А будут создаваться экземпляры нужного класса-потомка В. В то же время А будет знать только о В.
- Вот как это сделать?
- А как это описать в spring-контейнере?
- Или может все нужно делать гораздо проще и совсем по-другому?
В Delphi было такое понятие, как метакласс.
Класс
Type
— самый близкий аналог метаклассов. Или нет?Да, близкий, но не такой конкретный. Скажем, там можно было написать примерно так:
И получается, что MetaClass - это любой класс, унаследованный от SomeClass.