封装是C++面向对象编程的核心思想,通过public、private、protected访问控制实现数据与方法的捆绑及有选择地暴露接口,建立清晰责任边界并保障数据一致性。
封装是C++面向对象编程的核心思想之一,本质是把数据(属性)和操作数据的函数(方法)捆绑在一起,并对外隐藏实现细节,只暴露必要的接口。访问权限控制(public、private、protected)就是实现封装的关键机制。
封装的目的不是彻底封锁内部,而是建立清晰的责任边界:类内部负责保证数据的有效性和一致性,外部只能通过约定好的方式交互。比如一个BankAccount类,余额balance应为private,但提供deposit()和withdraw()两个public方法——这样类就能在存取时自动校验金额是否合法,避免外部直接赋值导致数据错误。
public:成员可被任何地方访问(类内、同类对象、派生类、类外代码)
private:仅允许在本类内部访问(包括友元),类外和派生类都不可见
protected:允许本类及派生类访问,但类外不可见
封装不只是加个private就完事。真正有效的封装还需配合设计习惯:
基本上就这些。封装不是语法技巧,而是设计意识——用访问控制划定信任边界,让类成为可靠、可维护、可演化的独立单元。