TObject 分岐
TObject 分岐は TObject から派生した VCL クラスで構成されます。ただし、TPersistent から派生したクラスは含みません。 コンポーネント ライブラリの強力な機能の多くは、TObject が導入するメソッドによって実装されています。 TObject は、次の機能を提供するメソッドを導入して、コンポーネント ライブラリの全クラスに共通する基本動作をカプセル化しています。
- オブジェクトのインスタンスが作成や破棄されたときに応答できる
- オブジェクトのクラス型とインスタンス情報、および published プロパティに関する実行時型情報(RTTI:Runtime Type Information)を提供する
- メッセージ処理(VCL アプリケーション)をサポートする
TObject から多くの単純なクラスが直接派生します。 TObject 分岐内のクラスには、重要な共通特性が 1 つあります。それは、どのクラスも一時的だということです。 TObject 分岐に属するクラスは、破棄される前の状態を保持するメソッドを持っていません。つまり持続性がありません。
その代表的な例が Exception クラスです。 Exception クラスには、多くの組み込みの例外クラスがあり、ゼロ除算、ファイル入出力エラー、無効な型キャスト、その他の例外条件を自動的に処理します。
TObject 分岐には、次のようにデータ構造をカプセル化するクラスもあります。
- TBits: 論理値の "配列" を格納するクラス
- TList: リストとリンクするクラス
- TStack: ポインタの後入れ先出し配列を管理するクラス
- TQueue: ポインタの先入れ先出し配列を管理するクラス
TObject 分岐における他のグループには他のオブジェクトのラッパーがあり、 プリンタ インターフェイスをカプセル化する TPrinter や、プログラムによる ini ファイルの読み書きをサポートする TIniFile などがあります。
TStream は、この分岐における他のクラス型のいい例でしょう。 TStream は、ディスク ファイルや動的メモリなどの各種の記憶媒体に対して読み書きができる、ストリーム オブジェクトの基底クラス型です(ストリームの詳細は、「ストリームの使用」を参照)。