System.TContainedObject

提供: RAD Studio API Documentation
移動先: 案内検索

System.TAggregatedObjectSystem.TObjectTContainedObject

Delphi

TContainedObject = class(TAggregatedObject, IInterface)

C++

class PASCALIMPLEMENTATION TContainedObject : public TAggregatedObject

プロパティ

種類 可視性 ソース ユニット
class public
System.pas
systobj.h
System System

説明

TContainedObject は,IInterface インターフェースを内部オブジェクトとして実装します。

TContainedObject は,集約の内部(格納)オブジェクトを作成するためのクラスの基本として使用することができます。Delphi では,TComObject またはその下位オブジェクトを使用すると,集約をサポートする外部オブジェクトをインスタンス化できます。

  • 以下に,集約可能な(内部または格納)オブジェクトに適用する実装規則を示します。この規則は,TContainedObject よってサポートされています。
  • オブジェクトが作成される場合,その型が要求された IInterface 型のインターフェースのときのみ作成が成功する
  • IInterface メソッドの _AddRef と _Release は制御用 IInterface に機能を委任する
  • QueryInterface は,格納されているオブジェクト内で実装されたインターフェースに対してのみ,TContainedObject 内で実装される
  • 内部オブジェクトの参照カウントは,格納しているオブジェクト内でインクリメントされる

メモ:  Delphi では,TContainedObject は接続ポイントの基本クラスとして使用されます。接続ポイントは,集約の中にある内部オブジェクトでなければなりません。

メモ:  集約オブジェクトは,実際は複数のインターフェース化されたオブジェクトで構成されています。各オブジェクトは独自の動作とインターフェースを実装しますが,オブジェクトはすべて同じ制御オブジェクトの参照カウントを共有します。コンテナパターンの中では,制御オブジェクトはコンテナオブジェクトです。

関連項目