web-dev-qa-db-ja.com

保護とプライベートの違いは何ですか?

可能性のある複製:
プライベートおよび保護メンバー:C++

保護されたメンバーとプライベートなメンバーまたはメソッドの違いを理解していません。両方がクラスの外部からアクセスするメンバーまたは関数を隠すと仮定したためです。

protectedキーワードとprivateキーワードの違いは何ですか?

34
danijar

private-それらを定義するクラス内でのみアクセス可能です。

protected-それらを定義するクラスおよびそのクラスを継承する他のクラスでアクセス可能。

65
lifetimes

privateであるものは、クラス自体内でのみ表示されます。

protectedであるものは、クラス自体とサブクラスに表示されます。

10
Jesper

プライベートメソッドは通常、クラスインスタンス(内部実装)に表示され、保護されたメソッドは同じパッケージ内のサブクラスとクラスに表示されます(継承と使用制限)。

3
Fabio

プライベートメンバーは、そのクラスメンバーとその友人のみが使用できます。保護されたメンバーは、他のクラスに継承でき、クラスのメンバーや友人が使用できます。

3
b3h3m0th

違いは、これらの機能に誰がアクセスできるかです。

  • Private =同じクラスのメンバーのみが関数にアクセスできます。

  • Protected = privateと同じですが、派生クラスもアクセスできます。

3
akrabi