Encapsulation ialah salah satu daripada empat Konsep Pengaturcaraan Berorientasikan Objek asas di Jawa. Idea utama di sebalik ini ialah menyembunyikan butiran pelaksanaan daripada pengguna. Dalam erti kata lain, Enkapsulasi membungkus data ke dalam satu unit untuk menghalang akses kepadanya dari dunia luar. Memandangkan data disembunyikan daripada kelas lain, proses ini dikenali sebagai Penyembunyian Data. Mari kita pertimbangkan cara kerja mentol sebagai contoh. Walaupun kita menggunakannya, kita tidak tahu sama ada ia berfungsi di belakang mentol. Tetapi dalam kes Java Encapsulation, adalah mungkin untuk mengakses data menggunakan pengubah suai. Mari kita lihat dalam bahagian seterusnya.
Encapsulation berfungsi dalam Java oleh
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sebagai contoh, kami sedang mencipta Pekerja kelas. Pembolehubah perlu ditetapkan sebagai peribadi, seperti yang ditunjukkan di bawah.
private String EmpName; private int EmpID; private int EmpSal;
Berikut ialah kaedah dapatkan dan kaedah tetapkan untuk pembolehubah persendirian yang berbeza dalam Pekerja kelas.
Kod:
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; }
Menggunakan kaedah ini, adalah mungkin untuk menjadikan kelas tulis sahaja atau baca sahaja, iaitu, Kami boleh melangkau kaedah ini jika perlu.
Berikut adalah beberapa Kelebihan Enkapsulasi.
Kelas Kacang Java ialah salah satu contoh kelas terkapsul sepenuhnya, kerana semua ahli data dalam kelas adalah peribadi.
Mari kita lihat contoh Enkapsulasi dengan kaedah getter dan setter. Untuk itu, buat 2 kelas-satu dengan kaedah utama dan satu lagi dengan kaedah mendapatkan dan tetapkan.
Pekerja.java
Kod:
//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; } }
Kod:
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()); } }
Output:
Pekerja kelas dirangkumkan dalam program di atas kerana pembolehubah adalah peribadi. Ia adalah mungkin untuk membaca dan menulis pelaksanaan kerana ia telah mendapat dan menetapkan kaedah. Pembolehubah persendirian seperti EmpName, EmpSal dan EmpID diakses menggunakan kaedah ini dan dipaparkan dengan memanggil kaedah menggunakan objek.
Sekarang, mari kita lihat cara Enkapsulasi berfungsi dengan kelas Baca sahaja.
Kod:
//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; } }
Kod:
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()); } }
Output:
Sama seperti contoh pertama, kami juga menggunakan pembolehubah persendirian. Perbezaannya ialah kami tidak menggunakan kaedah yang ditetapkan untuk menetapkan nilai bagi pembolehubah persendirian dalam kelas. Sebaliknya, kami memberikan nilai secara langsung kepada pembolehubah.
Kini, kita boleh beralih ke kelas tulis sahaja.
Kod:
//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); } }
Kod:
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); } }
Output:
Kami tidak menggunakan kaedah get untuk mencapai kelas tulis sahaja dalam contoh di atas. iaitu, pembolehubah tidak boleh diubah atau diambil di sini. Memandangkan adalah mustahil untuk mendapatkan nilai, kami menggunakan cetakan dalam kaedah yang ditetapkan untuk output sampel.
Encapsulation ialah konsep OOP di mana data akan dibalut, menyembunyikan semua butiran pelaksanaan. Ia boleh dicapai dengan menggunakan pembolehubah persendirian dan kaedah seperti mendapatkan dan menetapkan untuk mengakses pembolehubah. Kelebihan utama Enkapsulasi termasuk Fleksibiliti, Penyembunyian data, kemudahan dalam ujian dan kebolehgunaan semula.
Atas ialah kandungan terperinci Enkapsulasi di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!