Java 封装的优点

java 8object oriented programmingprogramming

Java 封装被定义为将数据及其相应的方法(行为)绑定到单个单元中的过程。

简单地说,封装不过是一种编程技术,用于将类成员(变量和方法)包装在一起

实施封装后,一个类的变量和数据不能在另一个类中访问,而该数据可以由同一类的成员函数使用。这反过来有助于保护变量和方法免受外界干扰和滥用。

我们知道,Java 封装这个概念乍一看可能让您望而生畏。但是,别担心,阅读本文后,您将首先通过一个实际示例了解什么是封装。随着我们进一步了解,您还将了解为什么我们需要在 Java 中进行封装,在 Java 中实现封装的方法以及在 Java 中封装的优势。

让我们开始吧!

Java 中的封装与实时示例

从以上讨论中,我们希望您理解封装是指封装包装数据的行为。

为了让您更好地理解 Java 中的封装,让我们举一些实时示例!

示例 1 - 想象一下,您正在前往某个地方参加一场重要的考试。假设 UPSC、SSC 或您选择的任何考试。但每当想到考试时,我们都会做一件特定的事情。准备和安排。我们仔细地把考试所需的所有东西,如书籍、文具、考场门票和衣服,放在一个手推车里。这种捆绑必需品以防止其他人使用它们的概念就是封装。在这里,您的包或手推车就是封装最真实的例子之一。

示例 2 - 封装的另一个例子是胶囊。一般来说,胶囊会封装各种药物组合。

如果将药物组合视为变量方法,那么胶囊就是,整个过程称为封装

为什么 Java 需要封装?

封装在日常编程中提供了大量好处。一些令人兴奋的好处如下 -

  • 封装使编程变得灵活。这意味着您不需要每次都根据新规范编辑和更新代码。

  • 它可以帮助您实现松散耦合。

  • 使用封装,调试应用程序变得简单而容易。

  • 还可以更改和编辑代码库,而不会破坏程序的正常运行。

  • 它使程序员能够监视类的数据可访问性。

在 Java 中实现封装的方法

有两种重要方法可以在 Java 编程语言中实现或实现封装。

  • 通过将类的实例变量设置为私有,以便类外的任何人都不能直接使用它。

Java 程序解释了使用私有变量进行封装−

public class TestEncapsulation { private String privateVar; TestEncapsulation() { privateVar = "java"; } } public class PrivateVariables { public static void main(String[] args) { System.out.println(TestEncapsulation.privateVar); } }

输出

TestEncapsulation.java:7: error: class PrivateVariables is public, should be declared in a file named PrivateVariables.java
public class PrivateVariables {
       ^
TestEncapsulation.java:9: error: privateVar has private access in TestEncapsulation
 System.out.println(TestEncapsulation.privateVar);
                                     ^
2 errors

从上面的私有访问说明符示例中,您可以注意到该类不能使用前一个类中的变量。

  • 使用公共 setter 和 getter 方法设置和获取类中变量/字段的值。

Java 程序说明 Java 程序中 getter 和 setter 方法的使用

package com.dataflair.encapsulation; class TestEncapsulation { private String privateVar; TestEncapsulation() { privateVar = "java"; } public void getVariable() { System.out.println(privateVar); } public void setVariable(String setvalue) { privateVar = setvalue; } } public class PrivateVariables { public static void main(String[] args) { TestEncapsulation test = new TestEncapsulation(); test.setVariable("PHP"); test.getVariable(); //System.out.println(TestEncapsulation.privateVar); } }

输出

PHP

Java 封装的优点

以下是 Java 封装的优点。

保护您的数据

使用封装,您可以保护您的数据和代码免受外部继承的影响。例如,如果任何程序运行者试图更改程序,他们只能与程序的 getter 和 setter 方法交互。他们不会想到更改任何特定变量或数据,从而阻碍程序的运行,从而实现高安全性。

易于测试代码

封装的代码易于调试,易于进行单元测试。

灵活

封装的代码更干净、更灵活,并且易于根据我们的需求进行更改。这意味着我们可以通过 getter 和 setter 方法将代码更改为只读或只写。

例如,如果您未在类中定义 setter 方法,则可以将字段设为只读,而如果您未在类中定义 getter 方法,则可以将字段设为只写

易于重用

封装使您能够轻松地更改方法、重用代码并在程序中执行新要求。

Java 程序解释封装

class Encapsulate { // private variables declared // these can only be accessed by // public methods of class private String empName; private String empId; private int empAge; // get method for age to access // private variable empAge public int getAge() { return empAge; } // get method for name to access // private variable empName public String getName() { return empName; } // get method for id to access // private variable empId public String getId() { return empId; } // set method for age to access // private variable geekage public void setAge(int newAge) { empAge= newAge; } // set method for name to access // private variable empName public void setName(String newName) { empName= newName; } // set method for id to access // private variable empId public void setId(String newId) { empId= newId; } } public class TestEncapsulation { public static void main(String[] args) { Encapsulate obj = new Encapsulate(); // setting values of the variables obj.setName("Jose"); obj.setAge(27); obj.setId("STS424"); // Displaying values of the variables System.out.println("Emp's name: " + obj.getName()); System.out.println("Emp's age: " + obj.getAge()); System.out.println("Emp's id: " + obj.getId()); // Direct access of empId is not possible // due to encapsulation // System.out.println("emp's id: " + // obj.empName); } }

输出

Emp's name: Jose
Emp's age: 27
Emp's id: STS424

在上述程序中,类 Encapsulate 已包装为 变量 设置为 私有get 方法(如 getAge()、getName()、getId())设置为 公共,这些方法用于访问这些变量。setter 方法(如 setName()、setAge()、setId())也设置为 公共,用于设置变量的值。

结论

我们希望通过上述讨论,您现在已经充分了解了什么是封装及其在 Java 程序中的各种用途和实现。如果您喜欢这篇文章,请给我们点赞,这可以激励我们为您提供更多有用的技术资料。


相关文章