アクセスを制御する
コンポーネント開発者のためのオブジェクト指向プログラミング:インデックス への移動
プロパティ,メソッド,フィールドへのアクセス制御には 5 つのレベルがあります。このアクセス制御は可視性ともいいます。可視性により,どのコードがクラスのどの部分にアクセスできるかが決まります。可視性を指定することにより,コンポーネントへのインターフェースを定義します。
次の表に,可視性のレベルを,アクセスの制約が最も厳しいレベルから最も緩いレベルの順に示します。
オブジェクトの可視性のレベル :
可視性 | 意味 | 用途 |
---|---|---|
private |
そのクラスが定義されているユニットのコードからのみアクセスできる |
|
protected |
そのクラスおよび下位クラスが定義されているユニットのコードからアクセスできる |
|
public |
すべてのコードからアクセスできる |
|
automated |
すべてのコードからアクセスできる。オートメーション型情報が生成される |
OLE オートメーションのみ |
published |
すべてのコード,およびオブジェクトインスペクタからアクセスできる。フォームファイルに保存される |
メンバーは,それが定義されているクラス内だけで使用できるようにする場合は private として宣言します。定義されているクラスとその下位クラスだけで使用できるようにする場合は,protected として宣言します。ただし,あるメンバーがユニットファイル内のどこかで使用できる場合,そのメンバーはそのユニットファイル内のどこででも使用できることに注意してください。したがって,同一ユニット内に 2 つのクラスを定義する場合,そのクラスは互いの private のメソッドにアクセスできます。上位クラスから別のユニットにクラスを派生させる場合,新しいユニット内のすべてのクラスはその上位クラスの protected のメソッドにアクセスできます。