Промежуточное программное обеспечение (например, CORBA) - Наследование членов объекта.Является ли это возможным? - PullRequest
0 голосов
/ 07 июня 2011

Рассмотрим очень простой код IDL, который задает базовый и производный интерфейс в CORBA:

module test{    
    interface Quote{
        attribute string symbol;
    };

    interface SpecialQuote:Quote{
        attribute string specialSymbol;
    };

    interface QuoteSender{
        void sendQuote(in Quote stock_quote);
    }
};

(Предполагается, что CORBA, но должно быть аналогичным для другого промежуточного программного обеспечения). Я заинтересован в возможности:

  1. создать производный класс «SpecialQuote», заполнить specialSymbol
  2. upcast до базового класса "Цитата", заполните символ
  3. отправка через интерфейс CORBA с использованием «sendQuote»
  4. на приемном конце, вниз к SpecialQuote, чтобы получить specialSymbol

Мне трудно это сделать, потому что атрибуты по сути просто переводятся в пустые установщики / получатели в Java, а не в их примитивные типы данных. Таким образом, требуется, чтобы стороны клиента и сервера повторно внедрили установщики / получатели.

Короче говоря, возможно ли наследование интерфейса членов через промежуточное ПО? Если так в CORBA, какие-нибудь рекомендации? Если в другом промежуточном программном обеспечении, какой?

1 Ответ

0 голосов
/ 07 июня 2011

Вы можете делать все, что вы просите в CORBA без каких-либо изменений. CORBA был разработан для достижения этого вида полиморфизма. Однако учтите, что в CORBA у вас есть отдельные клиентские и серверные части, поэтому вам нужно реализовать методы get и set на сервере. Что касается клиента, он использует только методы get и set, которые вызывают удаленный вызов объекта реализации.

...