クラス フィールドの宣言
ペンとブラシをパブリッシュに設定する への移動
コンポーネントには、それ自身が所有しているクラスごとに、それ用のクラス フィールドが宣言されている必要があります。コンポーネントでは、このクラス フィールドにより、所有しているオブジェクトのポインタを常に保持しているため、所有しているクラスを破棄してから自分自身を破棄することができます。一般に、コンポーネントでは、所有しているオブジェクトをコンストラクタで初期化し、それらをデストラクタで破棄します。
所有しているオブジェクトのためのフィールドは、ほとんど常に private プライベートとして宣言されます。それらの所有オブジェクトにアプリケーション(または他のコンポーネント)からアクセスする必要がある場合は、それ用の published プロパティまたは public プロパティを宣言することができます。
以下では、ペンとブラシのためのフィールドを図形コントロールに追加しています。
type TSampleShape = class(TGraphicControl) private { fields are nearly always private } FPen: TPen; { a field for the pen object } FBrush: TBrush; { a field for the brush object } . . . end;
class PACKAGE TSampleShape : public TGraphicControl { private: // data members are always private TPen *FPen; // a data member for the pen object TBrush *FBrush; // a data member for the brush object . . . };