Rumah > Java > javaTutorial > teks badan

Enkapsulasi di Jawa

王林
Lepaskan: 2024-08-30 15:59:54
asal
944 orang telah melayarinya

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.

Bagaimana Enkapsulasi berfungsi dalam java?

Encapsulation berfungsi dalam Java oleh

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

  • Mengisytiharkan atribut atau pembolehubah dalam kelas sebagai peribadi

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;
Salin selepas log masuk
  • Mencipta kaedah awam dalam kelas untuk mendapatkan dan menetapkan atribut atau pembolehubah.

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;
}
Salin selepas log masuk

Menggunakan kaedah ini, adalah mungkin untuk menjadikan kelas tulis sahaja atau baca sahaja, iaitu, Kami boleh melangkau kaedah ini jika perlu.

Kelebihan Enkapsulasi di Jawa

Berikut adalah beberapa Kelebihan Enkapsulasi.

  • Kesederhanaan dalam Aplikasi
  • Keupayaan untuk menggunakan semula atau mengubah suai kod berdasarkan keperluan
  • Menghadkan kebolehcapaian data
  • Kemudahan dalam ujian unit kerana kod dikapsulkan

Kelas Kacang Java ialah salah satu contoh kelas terkapsul sepenuhnya, kerana semua ahli data dalam kelas adalah peribadi.

Contoh Enkapsulasi Java

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.

Contoh #1

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;
}
}
Salin selepas log masuk
  • EmployeeEncaps.java

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());
}
}
Salin selepas log masuk

Output:

Enkapsulasi di Jawa

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.

Contoh #2

  • Pekerja.java

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;
}
}
Salin selepas log masuk
  • EmployeeEncaps.java

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());
}
}
Salin selepas log masuk

Output:

Enkapsulasi di Jawa

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.

Contoh #3

  • Pekerja.java

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);
}
}
Salin selepas log masuk
  • EmployeeEncaps.java

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);
}
}
Salin selepas log masuk

Output:

Enkapsulasi di Jawa

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.

Kesimpulan

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!