JavaSE-封装

封装

封装(Encapsulation)是面向对象编程(OOP)中的一个核心概念,它涉及将数据(属性)和操作这些数据的方法(函数)捆绑在一起。在封装的类中,细节是对使用者隐藏的,而只有通过一个定义良好的接口可以与类进行交互。

封装的主要目的是:

  1. 保护数据:通过将数据(属性)设置为私有,可以控制对数据的访问,确保数据不被非法修改。
  2. 提高代码可维护性:将数据和操作数据的方法放在一起,使得代码更加模块化,易于维护和扩展。
  3. 提高代码可读性:通过提供易于理解的接口(公共方法),可以使得代码更加易于理解和使用。

下面是一个使用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 类有两个私有属性 accountNumberbalance,以及一些公共方法(如 getAccountNumbersetAccountNumberdepositwithdraw)来操作这些属性。通过这种方式,BankAccount 类实现了封装。

Main 类中,我们创建了一个 BankAccount 对象,并使用公共方法来设置账户号、存款和取款。这样,我们就可以在不直接访问私有属性的情况下对对象进行操作。

这个例子展示了如何使用Java语言实现封装。通过将数据和操作数据的方法放在一起,我们可以更好地保护数据、提高代码的可维护性和可读性。

本文作者:柒寒(平安)

本文链接:https://www.cnblogs.com/wjw2003512/p/18368047

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   柒寒(平安)  阅读(13)  评论(0编辑  收藏  举报

哥伦布

💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.
点击右上角即可分享
微信分享提示