亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java OOP 中的封装与示例


什么是Java中的封装?

Java 封装 是一种将变量(数据)和方法(代码)包装为一个单元的机制。它是隐藏信息细节并保护对象的数据和行为的过程。它是四个重要的 OOP 概念之一。封装类易于测试,因此也更适合单元测试。

在本教程中,您将学习-

如果视频无法访问,请单击此处

通过示例学习封装

要详细了解什么是封装,请考虑以下带有存款和显示余额方法的银行帐户类

class Account {
    private int account_number;
    private int account_balance;

    public void show Data() {
        //code to show data 
    }

    public void deposit(int a) {
        if (a < 0) {
            //show error 
        } else
            account_balance = account_balance + a;
    }
}

假设黑客设法访问了您的银行帐户代码。现在,他尝试通过两种方式将金额 -100 存入您的帐户。让我们看看他的第一种方法或方法。

方法一: 他试图通过操纵代码将无效金额(例如 -100)存入您的银行帐户。

现在,问题是——这可能吗? 让我们调查一下。

通常,类中的变量设置为“私有”,如下所示。它只能通过类中定义的方法访问。没有其他类或对象可以访问它们。

如果数据成员是私有的,则意味着它只能在同一个类中访问。任何外部类都不能访问其他类的私有数据成员或变量。

因此,在我们的案例中,黑客无法将金额 -100 存入您的帐户。

方法 2 :Hacker 的第一种方式存入金额失败。接下来,他尝试使用“存款”方法存入金额-100。

但是方法实现会检查负值。所以第二种方法也失败了。

因此,您永远不会将您的数据暴露给外部方。这使您的应用程序安全。

整个代码可以想象成一个胶囊,你只能通过消息进行交流。因此名称封装。

Java 中的数据隐藏

Java 中的数据隐藏 正在向其他类隐藏一个类的变量。它只能通过他们当前类的方法来访问。它对用户隐藏了实现细节。但不仅仅是数据隐藏,它还意味着更好地管理或对相关数据进行分组。

为了在 Java 中实现较小程度的封装,您可以使用诸如“protected”或“public”之类的修饰符。通过封装,开发者可以轻松地更改代码的一部分而不影响其他部分。

Java 中的 Getter 和 Setter

Java 中的 Getter 和 Setter 是用于检索和更新变量值的两种常规方法。它们主要用于创建、修改、删除和查看变量值。 setter 方法用于更新值,getter 方法用于读取或检索值。它们也被称为访问器和修改器。

下面的代码是getter和setter方法的一个例子:

class Account{ 
private int account_number;
private int account_balance; 
    // getter method
	public int getBalance() {
        return this.account_balance;
    }
    // setter method
	public void setNumber(int num) {
        this.account_number = num;
    }
}

在上面的例子中,getBalance() 方法是读取变量 account_balance 值的 getter 方法,setNumber() 方法是设置或更新变量 account_number 值的 setter 方法。


抽象与封装

封装经常被抽象误解。让我们学习-

理解这种差异的一个简单例子是手机。将电路板中复杂的逻辑封装在触摸屏中,并提供接口抽象出来。

Java 封装的优点


java

  1. Java 封装
  2. Java 类型转换
  3. Java 中的 OOP 概念 |什么是基础与示例
  4. Java 变量和数据类型与示例
  5. Java 中的 String Length() 方法:如何通过示例查找
  6. Java String charAt() 方法及示例
  7. Java String contains() 方法 |用示例检查子字符串
  8. Java String endsWith() 方法及示例
  9. Java BufferedReader:如何通过示例在 Java 中读取文件
  10. Java中的插入排序算法及程序示例
  11. Java程序中的选择排序与示例
  12. Java - 封装