Swift封装
Swift封装

Swift封装

封装(Encapsulation)是面向对象编程(OOP)中最基础、最核心的特性之一。

可以理解为:封装就是把数据(属性)和行为(方法)绑定在一起,并隐藏内部实现,只暴露必要的接口给外部使用。

例如:

class BankAccount {
    private var balance: Double = 0  // 私有属性,外部不能直接访问

    func deposit(amount: Double) {
        guard amount > 0 else { return }
        balance += amount
    }

    func withdraw(amount: Double) {
        guard amount > 0, amount <= balance else { return }
        balance -= amount
    }

    func getBalance() -> Double {
        return balance
    }
}

外部使用者:

let account = BankAccount()
account.deposit(amount: 1000)
account.withdraw(amount: 200)
print(account.getBalance())  // 输出:800

封装的特点

1、数据隐藏(信息隐藏):用 private、fileprivate 等访问控制,防止外部乱改数据。

2、暴露接口:提供对外方法(如 deposit()、withdraw()),控制数据的访问方式。

Swift如何实现封装?

使用访问控制符(Access Control):

1、private:只能在当前类/结构体内部访问;

2、fileprivate:只能在当前文件中访问;

3、internal:默认值,整个模块中都可以访问;

4、public:外部模块可以访问,但不能重写或继承;

5、open:外部模块可以访问,并允许继承和重写。

封装的优点

1、数据安全:外部不能随便修改关键属性(如余额);

2、控制行为:通过接口限定访问逻辑,比如不能存负数;

3、更易维护:改变内部实现不会影响外部调用者;

4、易于扩展:将功能模块化,每个类/结构体职责清晰。

总结

封装 = 数据私有 + 提供接口控制访问。

它可以隐藏细节、控制访问、保护数据,让代码更稳定可维护。

相关文章

1、Swift访问控制级别:https://fangjunyu.com/2025/04/08/swift%e8%ae%bf%e9%97%ae%e6%8e%a7%e5%88%b6%e7%ba%a7%e5%88%ab/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注