Introducere privind încapsularea în Java

Încapsularea este unul dintre cele patru concepte de bază ale programării orientate pe obiecte în Java. Ideea principală din spatele acestui lucru este ascunderea detaliilor de implementare de către utilizatori. Cu alte cuvinte, Încapsularea este împachetarea datelor într-o singură unitate pentru a împiedica accesul la acestea din lumea exterioară. Deoarece datele sunt ascunse de celelalte clase, acest proces este cunoscut și sub numele de Date-ascundere. Să luăm în considerare funcționarea unui bec. Nu știm funcționarea efectivă în spatele becului, chiar dacă îl folosim. Dar, în cazul încapsulării Java, este posibilă accesarea datelor utilizând modificatori. Să analizăm în secțiunea următoare.

Cum funcționează încapsularea în java?

Încapsularea funcționează în Java de

  • Declararea atributelor sau variabilelor din clasă ca private

De exemplu, creăm un angajat de clasă. Variabilele trebuie să fie setate ca private, după cum se arată mai jos.

private String EmpName;
private int EmpID;
private int EmpSal;

  • Crearea de metode publice în clasă pentru a obține și seta atributele sau variabilele.

Urmează metoda get și set set pentru diferitele variabile private din clasa Employee.

Cod:

public int getEmpSal()
(
return EmpSal;
)public String getEmpName()
(
return EmpName;
)
public int getEmpID()
(
return EmpID;
)
public void setEmpSal( int EmpSal)
(
this.EmpSal = EmpSal;
)
public void setEmpName(String EmpName)
(
this.EmpName = EmpName;
)
public void setEmpID( int EmpID)
(
this.EmpID = EmpID;
)

Folosind aceste metode, este posibil să facem clasa doar pentru scriere sau doar citire, adică putem săriți aceste metode dacă este nevoie.

Următoarele sunt câteva dintre Avantajele încapsulării.

  • Simplitate în aplicație
  • Posibilitatea de a reutiliza sau modifica codul pe baza cerințelor
  • Limitează accesibilitatea datelor
  • Ușurința în testarea unității deoarece codul este încapsulat

Java Bean Class este unul dintre exemplele pentru clasa complet încapsulată, deoarece toți membrii datelor din clasă sunt privați.

Exemple de încapsulare Java

Să vedem un exemplu de încapsulare atât cu metode getter, cât și cu setter. Pentru asta creați 2 clase, una cu metoda principală și alta cu metode de obținere și setare.

Exemplul 1

  • Employee.java

Cod:

//Java program for Encapsulation with both read and write
public class Employee (
//private variables which can be accessed by public methods of the class
private String EmpName;
private int EmpID;
private int EmpSal;
// get method to access the private integer variable EmpSal
public int getEmpSal()
(
return EmpSal;
)
// get method to access the private string variable EmpName
public String getEmpName()
(
return EmpName;
)
// get method to access the private integer variable EmpID
public int getEmpID()
(
return EmpID;
)
// set method to access the private integer variable EmpSal
public void setEmpSal( int EmpSal)
(
this.EmpSal = EmpSal;
)
// set method to access the private string variable EmpName
public void setEmpName(String EmpName)
(
this.EmpName = EmpName;
)
// set method to access the private integer variable EmpID
public void setEmpID( int EmpID)
(
this.EmpID = EmpID;
)
)

  • EmployeeEncaps.java

Cod:
public class EmployeeEncaps (
public static void main(String() args) (
Employee EmpObj= new Employee(); //object of the class Employee
//passing the values to the methods using object
EmpObj.setEmpName("Anna");
EmpObj.setEmpSal(30000);
EmpObj.setEmpID(670311);
// Printing values of the variables
System.out.println("Employee's Name: " + EmpObj.getEmpName());
System.out.println("Employee's ID: " + EmpObj.getEmpID());
System.out.println("Employee's Salary: " + EmpObj.getEmpSal());
)
)

ieşire:

În programul de mai sus, Clasa Angajat este încapsulată, deoarece variabilele sunt private. Este posibil să citiți și să scrieți implementarea, deoarece au setat și setat metode. Variabilele private, cum ar fi EmpName, EmpSal, EmpID, sunt accesate folosind aceste metode și afișate apelând metodele folosind obiectul.

Acum, să vedem cum funcționează Encapsularea cu clasa de citire numai.

Exemplul 2

  • Employee.java

Cod:

//Java program for Encapsulation with read permission
public class Employee (
//private variables which can be accessed by public methods of the class
private String EmpName = "Adam";
private int EmpID = 670388;
private int EmpSal = 35000;
// get method to access the private integer variable EmpSal
public int getEmpSal()
(return EmpSal;
)// get method to access the private string variable EmpName
public String getEmpName()
(
return EmpName;
)
// get method to access the private integer variable EmpID
public int getEmpID()
(
return EmpID;
)
)

  • EmployeeEncaps.java

Cod:

public class EmployeeEncaps (
public static void main(String() args) (
Employee EmpObj= new Employee(); //object of the class Employee
// Printing values of the variables
System.out.println("Employee's Name: " + EmpObj.getEmpName());
System.out.println("Employee's ID: " + EmpObj.getEmpID());
System.out.println("Employee's Salary: " + EmpObj.getEmpSal());
)
)

ieşire:

Similar cu primul exemplu, aici folosim și variabile private. Diferența este că nu folosim metoda setată pentru a seta valori pentru variabilele private din clasă. În schimb, atribuim direct valoarea variabilelor.

Acum, putem continua să scriem doar clasă.

Exemplul 3

  • Employee.java

Cod:

//Java program for Encapsulation with write permission
public class Employee (
//private variables which can be accessed by public methods of the class
private String EmpName;
private int EmpID;
private int EmpSal;
// set method to access the private integer variable EmpSal
public void setEmpSal( int EmpSal)
(
this.EmpSal = EmpSal;
//for sample output
System.out.println("Employee's Salary: " + EmpSal);
)
// set method to access the private string variable EmpName
public void setEmpName(String EmpName)
(
this.EmpName = EmpName;
//for sample output
System.out.println("Employee's Name: " + EmpName);
)// set method to access the private integer variable EmpID
public void setEmpID( int EmpID)
(
this.EmpID = EmpID;
//for sample output
System.out.println("Employee's ID: " + EmpID);
)
)

  • EmployeeEncaps.java

Cod:

public class EmployeeEncaps (
public static void main(String() args) (
Employee EmpObj = new Employee(); //object of the class Employee
//passing the values to the methods using object
EmpObj.setEmpName("Iza");
EmpObj.setEmpID(670472);
EmpObj.setEmpSal(48000);
)
)

ieşire:

În exemplul de mai sus, nu folosim metoda get pentru a realiza doar clasa de scriere. adică variabilele nu pot fi modificate sau regăsite aici. Întrucât nu este posibilă obținerea valorilor, utilizăm tipărirea în metoda setată pentru ieșirea probei.

Concluzie

Încapsularea este un concept OOP în care datele vor fi împachetate ascunzând toate detaliile implementării. Poate fi obținut utilizând variabile private și metode, cum ar fi pentru a obține, seta pentru a accesa variabilele. Principalele avantaje ale încapsulării includ flexibilitatea, ascunderea datelor, ușurința în testare și reutilizarea .

Articole recomandate

Acesta a fost un ghid pentru încapsularea în Java. Aici vom discuta despre modul în care funcționează încapsularea, exemple de încapsulare Java cu coduri și ieșire. De asemenea, puteți parcurge articolele noastre date pentru a afla mai multe-

  1. Distrugător în Java
  2. Aspect în Java
  3. Cele mai bune compilatoare Java
  4. Ghid pentru încapsulare în C ++
  5. De ce avem nevoie de încapsulare în C?
  6. Prezentare generală a încapsulării în JavaScript