C++ 封装


封装

的含义封装,是为了确保 "sensitive" 数据对用户隐藏。为了实现这一点,您必须将类变量/属性声明为private(无法从类外部访问)。如果你想让其他人读取或者修改私有成员的值,你可以提供public得到方法。


访问私人会员

要访问私有属性,请使用公共 "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,其访问受到限制。

公众setSalary()方法采用一个参数(s)并将其分配给salary属性(工资 = s)。

公众getSalary()方法返回私有值salary属性。

里面main(),我们创建一个对象Employee类。现在我们可以使用setSalary()方法将私有属性的值设置为50000。然后我们调用getSalary()对象上的方法返回值。


为什么要封装?

  • 将类属性声明为私有(尽可能频繁地)被认为是一种很好的做法。封装可确保更好地控制您的数据,因为您(或其他人)可以更改代码的一部分而不影响其他部分
  • 提高数据安全性