Share via


內含專案/委派

COM 中重複使用物件最常見的機制是 內含專案/委派。 這種類型的重複使用是大多數面向物件語言和系統的熟悉概念。 外部物件需要使用內部物件,做為內部物件的物件用戶端。 外部物件「包含」內部物件,而且當外部物件需要內部對象的服務時,外部物件會明確將實作委派給內部物件的方法。 也就是說,外部物件會使用內部對象的服務來實作本身。

外部物件和內部物件不需要支援相同的介面,雖然它當然可以包含實作外部物件未實作介面的物件,並實作外部物件的方法,就像呼叫內部物件中的對應方法一樣。 不過,當外部和內部對象的複雜性大相徑庭時,外部物件可能會藉由委派對內部物件中實作之介面方法的呼叫,來實作其介面的一些方法。

實作外部物件的內含項目很簡單。 外部物件會建立它所需的內部物件,就像任何其他客戶端一樣。 這並不是什麼新鮮事,即使外部物件不被視為本身本身的字串物件,該物件本身包含用來執行特定字串函式的 C++ 字串物件,即使外部物件本身並未被視為字串物件也一樣。 然後,使用其內部物件的指標,外部物件中方法的呼叫會產生對內部物件方法的呼叫。

彙總