Прежде всего, я не использую EA для генерации кода, но вот что он делает в терминах UML.Кроме того, я использую 9.0, но я почти уверен, что это поведение не изменилось.
Параметр «Видимость компонентов» является строгим: он показывает унаследованные функции, а не реализованные.AFAIK, нет способа отобразить реализованные функции.Но они все еще там, внизу, и работают так, как вы хотите.
Если MyInterface содержит MyMethod, и MyClass реализует MyInterface без переопределения каких-либо операций, MyMethod доступен для выбора в качестве сообщения в последовательности.Диаграмма (при условии, что вы выбрали Показать унаследованные методы).Изменения в MyInterface :: MyMethod правильно отражаются в MyClass, и MyMethod также наследуется (но скрывается) дочерними элементами MyClass.
Переопределение, с другой стороны, создает новые операции в классе.Как только это будет сделано, Операции больше не будут считаться унаследованными и не будут следовать изменениям, внесенным в изменения в Интерфейсе.
Требуемое поведение - это то, что вы получаете, если используете классы и обобщения:дочерний класс наследует Операции его родителя и отображает их, если вы выберете Унаследованные объекты в диалоговом окне Видимость элементов.Операции не копируются в дочерний класс, но доступны как сообщения в последовательности, и изменения в родительских операциях отражаются в дочернем классе.
Поэтому, если вам нужны методы, отображаемые на диаграммах, обходной путь может бытьугробить интерфейсы и использовать вместо них абстрактные классы.Что лучше всего подойдет для генерации C ++, я не могу сказать.