Uvod o enkapsulaciji u Javi

Inkapsulacija je jedan od četiri osnovna koncepta programskog programiranja na Javi. Glavna ideja koja se krije iza toga je skrivanje detalja implementacije od korisnika. Drugim riječima, enkapsulacija je zamatanje podataka u jednu jedinicu kako bi se spriječio pristup vanjskom svijetu. Budući da su podaci sakriveni od ostalih klasa, ovaj je postupak poznat i kao skrivanje podataka. Razmotrimo rad sijalice kao primjer. Ne znamo stvarni rad iza žarulje, čak i ako ga koristimo. Ali u slučaju Java enkapsulacije, podacima je moguće pristupiti pomoću modifikatora. Pogledajmo to u sljedećem odjeljku.

Kako djeluje enkapsulacija u javi?

Inkapsulacija djeluje u Javi autor

  • Proglašavanje atributa ili varijabli u klasi kao privatne

Na primjer, stvaramo zaposlenika klase. Varijable moraju biti privatne kao što je prikazano u nastavku.

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

  • Stvaranje javnih metoda u razredu kako bi se dobili i postavili atributi ili varijable.

Slijedi metoda get i metoda postavljanja za različite privatne varijable u klasi Employee.

Kodirati:

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

Pomoću ovih metoda moguće je klasu napraviti samo za pisanje ili samo za čitanje, tj. Možemo preskočiti ove metode ako su potrebne.

Ovo su neke od prednosti enkapsulacije.

  • Jednostavnost u primjeni
  • Sposobnost ponovne upotrebe ili izmjene koda na temelju zahtjeva
  • Ograničava dostupnost podataka
  • Jednostavnost u testiranju jedinice jer je kôd obložen

Java Bean klasa jedan je od primjera za potpuno enkapsuliranu klasu jer su svi podaci u klasi privatni.

Primjeri Java enkapsulacije

Pogledajmo primjer enkapsulacije s getter i setter metodama. Za to stvorite 2 klase, jedna s glavnom metodom i druga s metodama dobivanja i postavljanja.

Primjer 1

  • Employee.java

Kodirati:

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

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

Izlaz:

U gornjem programu, zaposlenik klase je inkapsuliran jer su varijable privatne. Moguće je pročitati i napisati implementaciju otkako je dobila i postavila metode. Privatnim varijablama kao što su EmpName, EmpSal, EmpID pristupa se pomoću tih metoda i prikazuju se pozivanjem metoda pomoću objekta.

Sada, pogledajmo kako Enkapsulacija djeluje s klasom samo za čitanje.

Primjer 2

  • Employee.java

Kodirati:

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

Kodirati:

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

Izlaz:

Slično prvom primjeru, i ovdje koristimo privatne varijable. Razlika je u tome što ne koristimo zadanu metodu kako bismo postavili vrijednosti za privatne varijable u klasi. Umjesto toga, vrijednost izravno dodijelimo varijablama.

Sada možemo preći na pisanje samo klase.

Primjer 3

  • Employee.java

Kodirati:

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

Kodirati:

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

Izlaz:

U gornjem primjeru ne koristimo metodu get za postizanje klase samo pisanja. tj. varijable se ovdje ne mogu mijenjati ili dohvatiti. Kako nije moguće dobiti vrijednosti, za ispis uzorka koristimo ispis unutar zadane metode.

Zaključak

Inkapsulacija je OOP koncept u koji će se savijati podaci skrivajući sve detalje implementacije. To se može postići korištenjem privatnih varijabli i metoda poput dobivanja i postavljanja pristupa varijablama. Glavne prednosti enkapsulacije uključuju fleksibilnost, skrivanje podataka, lakoću testiranja i ponovnu upotrebu .

Preporučeni članci

Ovo je vodič za Inkapsulaciju na Javi. Ovdje raspravljamo o tome kako funkcionira enkapsulacija, primjere Java Encapsulacije s kodovima i izlazima. Možete i proći kroz naše članke da biste saznali više -

  1. Destruktor na Javi
  2. Izgled u Javi
  3. Najbolji Java sastavljači
  4. Vodič za enkapsulaciju u C ++
  5. Zašto nam je potrebna inkapsulacija u C?
  6. Pregled enkapsulacije u JavaScript-u

Kategorija: