具有 «CORBAInterface» 類別的關係

視關係類型和對應關係而定,«CORBAInterface» 類別之間的關係會在產生的 IDL 中對映至元素。

關聯及聚集

離開 «CORBAInterface» 類別的送出或對稱關係箭頭,只能將另一個 «CORBAInterface» 類別當作目標。進入 «CORBAInterface» 類別的送入關係箭頭,可以起源自一般類別或另一個 «CORBAInterface» 類別。

«CORBAInterface» 類別送出或對稱的關係,會在產生的 IDL 中對映至存取元及轉換元方法(如 get()set()add()clear())如下:

一般化

«CORBAInterface» 只能繼承自另一個 «CORBAInterface»

兩個 «CORBAInterface» 類別之間的繼承,會產生至對應 IDL 介面之間的繼承。 例如,當 «CORBAInterface» H 繼承自 «CORBAInterface» G,則會針對 H 產生下列 IDL 程式碼:

interface H : G {};

在一般類別與 «CORBAInterface» 之間的繼承箭頭,會解譯為介面的實現(實作)。此結構是用於實作 CORBA 伺服器的典型架構。

註: 一般而言,針對具有這類建構的配置,CORBA::Configuration::CORBAEnable 內容必須設定為 CORBAServer 以避免產生程式碼錯誤。

有兩種方式可以實現 CORBA 中的物件配接器:

CORBA::Class::DefaultImplementationMethod 會指定專案的實作方法(InheritanceTIE)。換言之,當 DefaultImplementationMethod 設定為 Inheritance 時,會依預設使用繼承來實作 CORBA 介面的所有實現。

例如,當使用 TAO 及繼承實作方法時,會針對繼承自 «CORBAInterface» I 的類別 J 產生下列程式碼:

class J : virtual public IBOAImpl {
public :
   // Constructors and destructors
   J(const char* instanceName = "");
   -J();
};

在產生的程式碼中,實現的類別 J 繼承自由 TAO IDL 編譯器所產生的 IBOAImpl 類別。

您可以設定特定類別的 CORBA::Class::TIERealizesInheritanceRealizes 內容,將預設實作方法置換為其實現的 «CORBAInterface» 類別名稱。換言之,即使您將繼承用作專案的預設實作方法,仍可以使用將 TIE 用作特定類別的實作方法,方法是將其 TIERealizes 內容設定為其實現的 «CORBAInterface» 名稱。您可以讓相同類別來實現使用不同方法的不同 «CORBAInterface» 類別,方法是將相同類別的 TIERealizesInheritanceRealizes 內容,設定為其使用其中一種方法所實現的 «CORBAInterface» 類別名稱。

組合

無法在任何元素中取得 «CORBAInterface» 類別。«CORBAInterface» 類別本身只會包含 «CORBAException» 類別。


回饋