C++カプセル化
カプセル化
カプセル化の意味、「機密」データがユーザーから隠せるようにすることです。これを実現するには、クラス変数や属性をprivate
(外部からアクセス出来ない)と宣言しなければならない。他のユーザーがプライベート メンバーの値を読み取ったり変更したりできるようにする場合は、publicなgetメソッドやsetメソッドを用意します。
プライベートメンバーへのアクセス
プライベートアトリビュートにアクセスするには、パブリックな「get」および「set」メソッドを使用します。
例
#include <iostream>
using namespace std;
class Employee {
private:
// Private attribute
int salary;
public:
// Setter
void setSalary(int s) {
salary = s;
}
// Getter
int getSalary() {
return salary;
}
};
int main() {
Employee myObj;
myObj.setSalary(50000);
cout << myObj.getSalary();
return 0;
}
例の説明
salary
属性はprivate
であり、アクセスが制限されています。
public setSalary()
メソッドはパラメータ (s
)を取りsalary
属性 (salaly = s)に割り当てます。
public getSalary()
メソッドはprivatesalary
属性の値を返します。main()
の内部で、Employee
クラスのオブジェクトを作成します。ここで、setSalary()
メソッドを使用して、private属性の値を50000
に設定します。次に、オブジェクトのgetSalary()メソッドを呼び出して、値を返します。
カプセル化する理由
-クラスの属性は(できる限り頻繁に)privateと宣言するのがよい習慣とされている。カプセル化することで、データをより適切に管理できるようになります。
データのセキュリティが向上する
-データのセキュリティの向上
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。