目次:
定義-アクセス修飾子とはどういう意味ですか?
アクセス修飾子は、クラス(または型)とそのメンバーのアクセシビリティを指定するために使用されるキーワードです。 これらの修飾子は、現在のアプリケーションの内部または外部のコードから使用できます。
.NETのアクセス修飾子は、コードのさまざまな可能な領域から、型の各メンバーのアクセシビリティを制御するために使用されます。 これは、現在のアセンブリ内または外部から処理できます。 アセンブリは機能の論理単位を表し、1つ以上のファイルにあるタイプとリソースで構成されます。
アクセス修飾子を使用する目的は、タイプのインターフェースをその実装から分離するカプセル化を実装することです。 これにより、次の利点が得られます。
- ユーザーによる無効な状態への内部データセットへのアクセスの防止。
- タイプを使用するコンポーネントに影響を与えることなく、タイプの内部実装の変更をプロビジョニングします。
- ソフトウェアコンポーネント間の相互依存性を減らすことにより、システムの複雑さを軽減します。
Techopediaはアクセス修飾子について説明します
.NETフレームワークは、5種類のアクセス修飾子を持つオプションを提供します。
- プライベート-型内のコードはその型のメンバーにのみアクセスできるため、アクセシビリティは現在の型に制限されます
- パブリック–現在のアセンブリ、またはそれを参照する別のアセンブリ内のどこからでもコードが、型のメンバーにアクセスできるため、どこからでもアクセス可能
- 保護–型内のコード、またはその派生クラスは型のメンバーにアクセスできるため、アクセシビリティは現在の型と派生クラスに制限されます
- 内部-現在のアセンブリのコードは、別のアセンブリからではなく、型のメンバーにアクセスできるため、アクセシビリティは現在のアセンブリに制限されます
- Protected Internal –現在のアセンブリのコードは、型のメンバーにアクセスすることも、それを参照するアセンブリからアクセスすることもできます。 したがって、アクセシビリティは現在のアセンブリの派生クラスからのものであり、それを参照するアセンブリの派生クラスタイプのインスタンスを介して実行する必要があります。
アクセス修飾子に適用されるいくつかのルールがあります。
- タイプメンバーに指定されたアクセス修飾子がない場合、デフォルトのアクセスレベルはprivateおよびinternalです。
- 名前空間は公開されているため、名前空間に許可されるアクセス修飾子はありません。
- 型内で宣言されたネストされたクラスと構造体メンバーは、包含クラスに対してデフォルトでプライベートです。
- 構造体のメンバーは、継承をサポートしていないため、保護されていると宣言できません。
- デストラクタはアクセス修飾子を持つことができません。
- 派生型は、基本型よりも大きなアクセシビリティを持つことはできません。
- 包含型のメンバーのアクセシビリティは、包含型のメンバーよりも小さい必要があります。 これは例を使用して説明できます。タイプAがパブリック可視性でない場合、包含タイプのパブリックメソッドはパラメーターとして「A」を持つことはできません。
- インターフェイスはパブリックおよび内部として宣言され、他のアクセス修飾子を持つことはできません。これは、インターフェイスが主にクラスから派生してアクセスするために使用されるためです。
- アクセス修飾子は、クラスメンバーだけでなく、同じ意図を持つ他のコード構成要素にも使用されます。