JavaSE-封装
封装
封装(Encapsulation)是面向对象编程(OOP)中的一个核心概念,它涉及将数据(属性)和操作这些数据的方法(函数)捆绑在一起。在封装的类中,细节是对使用者隐藏的,而只有通过一个定义良好的接口可以与类进行交互。
封装的主要目的是:
- 保护数据:通过将数据(属性)设置为私有,可以控制对数据的访问,确保数据不被非法修改。
- 提高代码可维护性:将数据和操作数据的方法放在一起,使得代码更加模块化,易于维护和扩展。
- 提高代码可读性:通过提供易于理解的接口(公共方法),可以使得代码更加易于理解和使用。
下面是一个使用Java语言实现封装的例子:
public class BankAccount { // 私有属性 private String accountNumber; private double balance; // 公共方法(获取账户号) public String getAccountNumber() { return accountNumber; } // 公共方法(设置账户号) public void setAccountNumber(String accountNumber) { this.accountNumber = accountNumber; } // 公共方法(获取余额) public double getBalance() { return balance; } // 公共方法(存款) public void deposit(double amount) { if (amount > 0) { balance += amount; } else { System.out.println("Invalid deposit amount."); } } // 公共方法(取款) public void withdraw(double amount) { if (amount > 0 && amount <= balance) { balance -= amount; } else { System.out.println("Invalid withdrawal amount."); } } } public class Main { public static void main(String[] args) { BankAccount myAccount = new BankAccount(); myAccount.setAccountNumber("123456"); System.out.println("Account Number: " + myAccount.getAccountNumber()); myAccount.deposit(1000); System.out.println("Balance: " + myAccount.getBalance()); myAccount.withdraw(500); System.out.println("Balance after withdrawal: " + myAccount.getBalance()); } }
在这个例子中,BankAccount
类有两个私有属性 accountNumber
和 balance
,以及一些公共方法(如 getAccountNumber
,setAccountNumber
,deposit
和 withdraw
)来操作这些属性。通过这种方式,BankAccount
类实现了封装。
在 Main
类中,我们创建了一个 BankAccount
对象,并使用公共方法来设置账户号、存款和取款。这样,我们就可以在不直接访问私有属性的情况下对对象进行操作。
这个例子展示了如何使用Java语言实现封装。通过将数据和操作数据的方法放在一起,我们可以更好地保护数据、提高代码的可维护性和可读性。
本文作者:柒寒(平安)
本文链接:https://www.cnblogs.com/wjw2003512/p/18368047
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步