Предупреждение: следующее решение некрасиво, но оно делает то, что вы хотите.
Заставьте Cube
принять один параметр типа CubeInformation
в своем конструкторе, и это его единственный член (он является закрытым). Он просто устанавливает CubeInformation
. Затем он предоставляет свойства для материала в этой структуре.
Пусть CubeInformation
будет структурой, которая содержит данные для Cube
.
Пусть DrawableCube
имеет конструктор, который принимает Cube
и копирует структуру CubeInformation
из Cube
.
Wallah. Если кому-то нужно добавить дополнительные данные в Cube
, они добавляют его в структуру CubeInformation
и реализуют свойства в Cube
. В DrawableCube
.
обслуживание не требуется.