アクセス制御
Delphiのクラスではつぎの5つの保護レベルがあります。
保護レベル | 意味 | 使用目的 |
private | そのクラス内でのみアクセス可能 | 実装の詳細の隠蔽 |
protected | そのクラスと派生クラスからのみアクセス可能 | 開発者用インタフェースの定義 |
public | すべてのコードからアクセスできる | 実行時インタフェースの定義 |
automated | すべてのコードからアクセスできる。オートメーション型情報が生成される。 | OLEオートメーション |
published | すべてのコードおよびオブジェクトインスペクタからアクセスできる。 | 設計時インタフェースの定義 |
private
実行時に他のコード(ユーザコード)から書き換えられたり、読まれたり、あるいは実行されると困るメンバ変数やメソッドをこの保護レベルにします。
protected
実行時には変更されたりすると困るが、そのコンポーネントを元に別のコンポーネントを派生させるときにはアクセスする必要があるメンバ変数やメソッドは、この保護レベルを使用します。
public
保護する必要のない変数やメソッドは、このレベルにします。
automated
OLEオートメーションとして公開する必要のあるものは、このレベルにします。(古いバージョンとの互換性のためにのみ使用します)
published
保護する必要がなく、設計時にオブジェクトインスペクタで値を設定させたいプロパティやイベントは、このレベルにします。