Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ アクセス修飾子キーワード | カプセル化の概要
C++オブジェクト指向プログラミング

bookアクセス修飾子キーワード

メニューを表示するにはスワイプしてください

カプセル化は主にアクセス修飾子を使用して実現されます。これらの修飾子は、クラスのメンバー(データおよび関数)に対して、プログラムの他の部分がどの程度アクセスできるかを制御します。主なアクセス修飾子は次の3つです。

  • private: 同じクラス内のみアクセス可能であり、クラス外部からは隠されています。これはクラスメンバーのデフォルトのアクセスレベルです。

  • protected: クラス自身およびその派生クラス内でアクセス可能です。privateメンバーよりもアクセス範囲が広いですが、依然としてデータ保護の役割を果たします。

  • public: プログラムのどの部分からでもアクセス可能です。publicメンバーはカプセル化されていませんが、クラスが外部に公開するインターフェースを定義するために不可欠です。

Note
注意

アクセス修飾子は、別の修飾子が指定または出現するまで適用され続けます。

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
注意

public キーワードを削除または変更して、何が起こるか確認してください。

ドライバーが車の内部構造を理解せずに運転できるのと同様に、ユーザーやプログラマーはクラス内の private 属性やメソッドについて気にする必要はありません。以下のルールに従ってください:

  • データメンバーは private または protected にする;
  • public データへアクセス・変更するための private メソッドを提供する;
  • これらのメソッドは内部ロジックを公開せず、意図した処理のみを行うようにする。

適切にカプセル化された class は、ユーザーに必要なものだけを公開し、内部状態や実装の詳細を隠します。

question mark

クラスの private メンバーにクラス外部から直接アクセスしようとした場合、どうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt