D-programming-class-access-modifiers
Dプログラミング-クラスアクセス修飾子
データの非表示は、オブジェクト指向プログラミングの重要な機能の1つであり、プログラムの機能がクラス型の内部表現に直接アクセスできないようにします。 クラスメンバへのアクセス制限は、クラスボディ内のラベル付き public 、 private 、および protected セクションで指定されます。 キーワードpublic、private、およびprotectedは、アクセス指定子と呼ばれます。
クラスには、複数のパブリック、保護、またはプライベートのラベル付きセクションを含めることができます。 各セクションは、別のセクションラベルまたはクラス本体の右中括弧が表示されるまで有効です。 メンバーとクラスのデフォルトのアクセスはプライベートです。
Dのパブリックメンバー
例
上記のコードをコンパイルして実行すると、次の結果が生成されます-
プライベートメンバー
デフォルトでは、クラスのすべてのメンバーはプライベートです。 たとえば、次のクラスでは width はプライベートメンバーです。つまり、メンバーに明示的にラベルを付けるまで、プライベートメンバーと見なされます-
実際には、次のプログラムに示すように、クラスの外部から呼び出すことができるように、プライベートセクションのデータとパブリックセクションの関連関数を定義する必要があります。
上記のコードをコンパイルして実行すると、次の結果が生成されます-
保護されたメンバー
次の章で、派生クラスと継承について学習します。 今のところ、1つの子クラス SmallBox が親クラス Box から派生している次の例を確認できます。
次の例は上記の例に似ており、ここで width メンバーは派生クラスSmallBoxのメンバー関数からアクセスできます。
上記のコードをコンパイルして実行すると、次の結果が生成されます-