Java 封装的优点
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 程序中的各种用途和实现。如果您喜欢这篇文章,请给我们点赞,这可以激励我们为您提供更多有用的技术资料。