Sissejuhatus kapseldamisse Java-s

Kapseldamine on üks neljast Java põhiobjektist orienteeritud programmeerimiskontseptsioonist. Selle peamine idee on rakendusdetailide peitmine kasutajate eest. Teisisõnu on kapseldamine andmete pakkimine ühte ühikusse, et välistada juurdepääsu välismaailmale. Kuna andmed on muude klasside eest varjatud, nimetatakse seda protsessi ka andmete peitmiseks. Vaatleme näitena pirni tööd. Me ei tea pirni tegelikku töötamist isegi siis, kui me seda kasutame. Kuid Java Encapsulationi puhul on andmetele juurde pääseda modifikaatorite abil. Vaatame seda järgmises osas.

Kuidas kapseldamine javas töötab?

Kapseldamine töötab Java keeles

  • Klassi atribuutide või muutujate kuulutamine privaatseks

Näiteks loome klassi töötaja. Muutujad tuleb seada privaatseks, nagu allpool näidatud.

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

  • Avalike meetodite loomine tunnis atribuutide või muutujate saamiseks ja seadmiseks.

Järgnevalt on saadud meetod ja määratud meetod erinevate privaatsete muutujate jaoks klassis Töötaja.

Kood:

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;
)

Neid meetodeid kasutades on võimalik muuta klass kirjutuskaitstud või kirjutuskaitstud, st võime need meetodid vajaduse korral vahele jätta.

Järgnevalt on toodud mõned kapseldamise eelised.

  • Lihtsus rakenduses
  • Võimalus koodi vastavalt vajadusele uuesti kasutada või muuta
  • Piirab andmete juurdepääsetavust
  • Üksuse testimise lihtsus, kuna kood on kapseldatud

Java Bean Class on üks täielikult kapseldatud klassi näidetest, kuna kõik selle klassi andmeliikmed on privaatsed.

Java kapseldamise näited

Vaatame kapseldamise näidet nii getteri kui ka setteri meetodil. Selleks looge 2 klassi - üks põhimeetodi abil ja teine ​​- meetodite saamise ja määramisega.

Näide 1

  • Töötaja.java

Kood:

//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

Kood:
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());
)
)

Väljund:

Ülaltoodud programmis on klass Töötaja kapseldatud, kuna muutujad on privaatsed. Teostust on võimalik lugeda ja kirjutada, kuna see on olemas ja meetodid paika pandud. Privaatsetele muutujatele, näiteks EmpName, EmpSal, EmpID, pääsetakse juurde nende meetodite abil ja kuvatakse neid objekte kasutades meetoditele helistades.

Nüüd vaatame, kuidas kapseldamine töötab ainult kirjutuskaitstud klassiga.

Näide 2

  • Töötaja.java

Kood:

//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

Kood:

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());
)
)

Väljund:

Sarnaselt esimesele näitele kasutame siin ka privaatseid muutujaid. Erinevus seisneb selles, et me ei kasuta klassi privaatsete muutujate väärtuste määramiseks seatud meetodit. Selle asemel omistame väärtuse vahetult muutujatele.

Nüüd saame liikuda edasi ainult klassi kirjutamiseni.

Näide 3

  • Töötaja.java

Kood:

//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

Kood:

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);
)
)

Väljund:

Ülaltoodud näites ei kasuta me ainult kirjutamise klassi saavutamiseks meetodit get. st muutujaid ei saa siin muuta ega hankida. Kuna väärtusi pole võimalik saada, kasutame proovi väljundiks printimist seadistatud meetodi sees.

Järeldus

Kapseldamine on OOP-kontseptsioon, kus andmed pakitakse, peites kõik rakenduse üksikasjad. Seda saab saavutada privaatsete muutujate ja meetodite abil, mille abil saab muutujaid juurde pääseda ja neile juurde pääseda. Kapseldamise peamised eelised hõlmavad paindlikkust, andmete peitmist, testimise lihtsust ja korduvkasutatavust .

Soovitatavad artiklid

See on olnud Java kapseldamise juhend. Siin käsitleme kapseldamise toimimist, näiteid Java kapseldusest koos koodide ja väljundiga. Lisateavet leiate ka meie antud artiklitest -

  1. Hävitaja Java-s
  2. Paigutus Java-s
  3. Parimad Java kompilaatorid
  4. C ++ kapseldamise juhend
  5. Miks me vajame kapseldamist C-s?
  6. Kapseldamise ülevaade JavaScriptis

Kategooria: