Многократно наследуя от 2-х классов, имеющих одного и того же родителя, я попадаю в классический случай наследования 2-х раз одного и того же атрибута. Я хотел бы объединить 2 атрибута в один и попытался сделать это с помощью undefine, но это приводит к ошибке компиляции. Другим решением, которое я вижу, является переименование атрибута одного из обоих родителей, но, как я понимаю, каждый экземпляр моего класса D будет иметь бесполезный атрибут, который мне не нужен...
Error: Undefine subclause lists name of frozen feature or attribute or
C external.
What to do: unless you can change the status of the feature in the parent,
remove its name from Undefine subclause since it cannot be undefined.
Как объединить 2 атрибута из многократно унаследованных классов
class A
serial: STRING
end -- class A
class B
inherit
A
end -- class B
class C
inherit
A
end -- class C
class D
inherit
B
undefine
serial -- error seems to appear here in that case
end
C
end -- class D
C
в примере не используется и может быть безопасно удален. - person Alexander Kogtenkov   schedule 15.10.2019