中间件(例如CORBA) - 对象成员的继承。可能吗?

时间:2011-06-06 23:01:26

标签: inheritance corba middleware members

考虑在CORBA中指定基本和派生接口的非常简单的IDL代码:

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. 向上扩展到基类“引用”,填写符号
  3. 使用“sendQuote”
  4. 通过CORBA接口发送
  5. 在接收端,向下转到SpecialQuote以检索specialSymbol
  6. 我很难执行此操作,因为这些属性实际上只是转换为Java中的空setter / getter而不是它们的Primitive Data Types。因此,它需要客户端和服务器端重新实现setter / getters。

    简而言之,跨中间件的接口成员的继承是什么?如果在CORBA中有任何建议吗?如果在另一个中间件中,哪一个?

1 个答案:

答案 0 :(得分:0)

您可以在没有任何修改的情况下在CORBA中执行您要求的所有操作。 CORBA旨在实现这种多态性。但是,请注意,在CORBA中,您有一个独立的客户端服务器部件,因此您必须在服务器中实现get和set方法。至于客户端,它只使用导致远程调用实现对象的get和set方法。