Мне интересно, есть ли какой-нибудь умный способ создать 2 иерархии параллельных типов в Java.Например, у меня есть XType
.XType
имеет свое собственное дерево типов (около 10-20, некоторые плоские, некоторые переходят на 3 уровня).
XType
\
+ AXType
| \
| + AAXType
|
+ BXType
......
Теперь у меня есть несколько ситуаций, когда я хотел бы иметь соответствующийиерархия, но с некоторым дополнительным свойством.Итак, XTypeWithProperty
, AXTypeWithProperty
, ...
Теперь, поскольку существует только одно наследование, для AAXTypeWithProperty
невозможно иметь родителей AXTypeWithProperty
и AAXType
... Конечно, я мог бы сброситьвсе к первому дереву с XType
в корне и добавьте метод .getProperty()
, который может возвращать ноль для типов без него.
Но я бы хотел найти безопасный для типов (столько, сколькоЯва может управлять) решением здесь.Я думал о чем-то вроде создания универсальных типов XType<WithProperty>
и XType<NoProperty>
и работы с ними ... но похоже, что его было бы немного утомительно поддерживать.
Есть ли лучший способ?