Enkapsulasi-encapsulation-data-melalui-aksesor-mutator-java

Enkapsulasi Data Dengan Aksesor Dan Mutator Di Java

Enkapsulasi (encapsulation) adalah konsep menyembunyikan implementasi detail sebuah kelas dan hanya membolehkan akses ke kelas tersebut melalui data field dan metoda yang mempunyai modifier public. Namun demikian, data field kelas yang dideklarasikan dengan modifier public juga bisa menimbulkan masalah karena dapat dimodifikasi dengan cara diakses langsung melalui variabel acuan yang mengacu ke obyek kelas tersebut.

Untuk mencegah modifikasi langsung melalui variabel acuan, data field sebuah kelas perlu dideklarasikan dengan modifier private. Dengan modifier private ini, data field tidak dapat diakses dari luar kelas yang mendefinisikan data field tersebut.

Agar client program bisa mengakses atau memodifikasi nilai data field, perlu disediakan metoda dengan modifier public. Metode yang dimaksud adalah get untuk mengembalikan nilai data field dan set untuk memodifikasi nilai data field.

1. Aksesor dan mutator.

Metode get disebut dengan getter atau accessor dan metoda set disebut dengan setter atau mutator. Di bawah ini adalah sintaksis deklarasi metode get yang digunakan untuk mengembalikan (return) nilai data field sebuah kelas.

public tipe-nilai-dikembalikan getDataField();

contoh,

public double getPanjang();
public double getLebar();

Bila tipe-nilai-dikembalikan dari metoda get adalah tipe boolean, sintaksis penulisannya adalah:

   public boolean isDataField();

Untuk deklarasi metoda set yang digunakan untuk memodifikasi nilai data field kelas, Anda dapat menggunakan sintaksis sebagai berikut:

   public void setDataField(tipe-data nilai-DataField);

contoh,

public void setPanjang(double nilaiPanjang);
public void setLebar(double nilaiLebar);

Karena data field dideklarasikan dengan modifier private, maka metode get adalah satu-satunya cara untuk mengakses nilai data field dan metode set adalah satu-satunya cara untuk memodifikasi nilai data field.

2. Penerapan metoda get dan set.

Data field sebuah kelas yang dideklarasikan dengan modifier private tidak dapat diakses menggunakan variabel acuan ke obyek dari kelas tersebut. Data field hanya dapat diakses dan dimodifikasi melalui metoda get dan set yang dedeklarasikan dengan modifier public.

Berikut ini adalah contoh kode program hasil memodifikasi contoh kode program di artikel Mendefinisikan Kelas Generik Java dengan mengimplementasikan metode get dan set.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class SetGetWarna {
 
   // Deklarasi data field atau variabel kelas
   private T nilaiWarna;
 
   // Konstruktor tanpa argumen
   public SetGetWarna() {
      nilaiWarna = null;
   }
 
   // Konstruktor dengan argumen
   public SetGetWarna(T warnaBaru) {
      nilaiWarna = warnaBaru;
   }
 
   // Metode set (setter atau mutator)
   public void setNilaiWarna(T nilaiWarnaBaru) {
      nilaiWarna = nilaiWarnaBaru;
   }
 
   // Metode get (getter atau accessor)
   public T getNilaiWarna() {
      return nilaiWarna;
   }
 
   // Method overriding
   public String toString() {
      return ("Warna : " + nilaiWarna.toString());
   }
 
   // Metoda samaDengan
   public boolean samaDengan(Object setGetWarna2) {
      if (setGetWarna2 == null)
         return false;
      else {
         SetGetWarna warnaLain = (SetGetWarna) setGetWarna2;
         return nilaiWarna.equals(warnaLain.nilaiWarna);
      }
   }
}

Baris nomor 17 – 19 adalah deklarasi metoda set setNilaiWarna yang akan digunakan untuk merubah nilai warna yang tersimpan di data field nilaiWarna dengan nilai baru yang tersimpan di parameter nilaiWarnaBaru. Baris nomor 22 – 24 adalah deklarasi metoda get getNilaiWarna yang akan digunakan untuk mendapatkan nilai yang tersimpan di data field nilaiWarna.

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It