Пусть у меня есть следующие:Multiple Тип наследования в Аде
type blah is abstract tagged
record
element1 : integer;
end record;
type blah2 is abstract tagged
record
element2 : integer;
end record;
Я надеюсь, что это возможно, что я могу сделать что-то вроде этого:
type blah3 is abstract new blah1 and blah 2 with null record;
Таким образом, в теории я могу теперь доступа blah3.element1 и blah3.element2
Возможно ли это? и любые подсказки или подсказки?
UPDATE:
было бы возможно ссылки на элементы blah3 (содержащие бла и blah2) с помощью указателей?
I.E. (Это просто грубая идея код ужасен ... LOL)
type blah3 is new type with
record
element1 : ptr to blah.element1;
element2 : ptr to blah2.element2;
end record
и затем могут быть доступны через blah3.element1, например?
Короче говоря, нет множественного наследования в Ada не так, как вы надеетесь. Близкие аналоги возможны с использованием «mixins» и наследования интерфейсов, но я не много сделал в этих областях, поэтому я не хочу давать советы, не имея опыта для его резервного копирования (не то, что останавливает большинство блоггеров :-). В чем проблема, которую вы пытаетесь решить? Возможно, есть хорошее решение, которое не связано с МИ. –
Я дам ему выстрел ... –
Цель состоит в том, чтобы сохранить «пакет» черного цвета, I.E. запись Blah 3 является типичным «звонком» на наш пакет, но определенные события привели к тому, что данные мы должны быть размещены в двух разных типах, надежда состояла в том, чтобы каким-то образом объединить их, поэтому мы можем оставить первый вызов в одиночку, и это будет все еще работаю за внешними людьми, пытающимися позвонить. - Надеюсь, это имело смысл. – onaclov2000