第14章 - 封装
嗨,朋友!我是长安。
封装是面向对象的第一大特性,它让我们可以隐藏对象的内部细节,只暴露必要的接口。
🎁 什么是封装?
封装就是把数据和操作数据的方法包装在一起,隐藏内部实现细节。
class BankAccount
{
private double balance; // 私有字段,外部无法直接访问
public double Balance // 公共属性,控制访问
{
get { return balance; }
}
public void Deposit(double amount) // 存款
{
if (amount > 0)
{
balance += amount;
Console.WriteLine($"存款成功!余额:{balance}");
}
}
public bool Withdraw(double amount) // 取款
{
if (amount > 0 && amount <= balance)
{
balance -= amount;
Console.WriteLine($"取款成功!余额:{balance}");
return true;
}
Console.WriteLine("余额不足或金额无效!");
return false;
}
}
// 使用
BankAccount account = new BankAccount();
account.Deposit(1000); // ✅ 通过方法操作
account.Withdraw(500); // ✅ 通过方法操作
// account.balance = 10000; // ❌ 错误!无法直接访问私有字段
🎯 封装的好处
- 数据安全:防止外部随意修改
- 隐藏复杂性:只暴露简单接口
- 易于维护:内部修改不影响外部
- 灵活控制:可以添加验证逻辑
📝 本章小结
- 封装通过访问修饰符实现
- 使用私有字段 + 公共属性/方法
- 封装提高了代码的安全性和可维护性
- 良好的封装是面向对象设计的基础
