Protected (Visual Basic)Protected (Visual Basic)

1つ以上の宣言されたプログラミング要素が、独自のクラス内または派生クラスからのみアクセス可能であることを指定するメンバーアクセス修飾子。A member access modifier that specifies that one or more declared programming elements are accessible only from within their own class or from a derived class.

コメントRemarks

場合によっては、クラスで宣言されたプログラミング要素が機微なデータまたは制限付きコードを含んでいて、要素へのアクセスを制限する必要があります。Sometimes a programming element declared in a class contains sensitive data or restricted code, and you want to limit access to the element. ただし、クラスが継承可能であり、派生クラスの階層を想定している場合は、これらの派生クラスがデータまたはコードにアクセスするために必要な場合があります。However, if the class is inheritable and you expect a hierarchy of derived classes, it might be necessary for these derived classes to access the data or code. このような場合は、基本クラスとすべての派生クラスから要素にアクセスできるようにする必要があります。In such a case, you want the element to be accessible both from the base class and from all derived classes. このようにして、要素へのアクセスを制限するには、Protectedで宣言します。To limit access to an element in this manner, you can declare it with Protected.

注意

Protected アクセス修飾子は、次の2つの修飾子と組み合わせることができます。The Protected access modifier can be combined with two other modifiers:

  • Protected Friend修飾子は、クラス内、派生クラス、およびクラスが定義されている同じアセンブリから、クラスメンバーにアクセスできるようにします。The Protected Friend modifier makes a class member accessible from within that class, from derived classes, and from the same assembly in which the class is defined.
  • Private Protected修飾子は、派生型でクラスメンバーにアクセスできるようにしますが、それを含むアセンブリ内でのみ使用できます。The Private Protected modifier makes a class member accessible by derived types, but only within its containing assembly.

ルールRules

宣言コンテキスト。Declaration Context. Protected はクラスレベルでのみ使用できます。You can use Protected only at the class level. つまり、Protected 要素の宣言コンテキストはクラスである必要があり、ソースファイル、名前空間、インターフェイス、モジュール、構造体、またはプロシージャにすることはできません。This means the declaration context for a Protected element must be a class, and cannot be a source file, namespace, interface, module, structure, or procedure.

動作Behavior

  • アクセスレベル。Access Level. クラス内のすべてのコードは、その要素にアクセスできます。All code in a class can access its elements. 基底クラスから派生したクラスのコードは、基底クラスのすべての Protected 要素にアクセスできます。Code in any class that derives from a base class can access all the Protected elements of the base class. これは、派生のすべての世代に当てはまります。This is true for all generations of derivation. これは、クラスが基底クラスの基底クラスの要素 Protected にアクセスできることを意味します。This means that a class can access Protected elements of the base class of the base class, and so on.

    保護されたアクセスは、スーパーセットまたはフレンドアクセスのサブセットではありません。Protected access is not a superset or subset of friend access.

  • アクセス修飾子。Access Modifiers. アクセスレベルを指定するキーワードは、アクセス修飾子と呼ばれます。The keywords that specify access level are called access modifiers. アクセス修飾子の比較については、「Visual Basic のアクセスレベル」を参照してください。For a comparison of the access modifiers, see Access levels in Visual Basic.

Protected 修飾子は、次のコンテキストで使用できます。The Protected modifier can be used in these contexts:

参照See also