C++三大特性之封装

发布于 2024-08-30  471 次阅读


1.封装的概念

封装是C++语言中的三大面向对象编程(OOP)特性之一。它通过将数据和操作数据的函数捆绑在一起,限制对类内部数据的直接访问,从而保护数据的完整性。

2.举例

假设有一个表示银行账户的类 BankAccount

class BankAccount{
private:
    double balance; // 余额
public:
     // 构造函数
     BankAccount(double initialBalance) {
        if (initialBalance >= 0) {
            balance = initialBalance;
        }else{
            balance = 0;
        }
     }
    // 存款函数
    void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }

    // 取款函数
    void withdraw(double amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
        }
    }

    // 获取余额函数
    double getBalance() const {
        return balance;
    }
}

在这个例子中,balance 是一个私有变量,只有类内部的成员函数 deposit()withdraw()getBalance() 能够访问和修改它。外部代码无法直接访问或修改 balance,这确保了余额数据的安全性和完整性。

这个例子通过限制直接访问数据来保护数据,并通过公开的接口(即公有成员函数)来操作数据。


踏上取经路,比抵达灵山更重要