Saturday, 22 July 2017

Java - Perkapsulan (encapsulation)

Encapsulation

  • Merupakan salah satu dari 4 asas utama konsep Obejct Oriented Programming (OOP) termasuklah abstraction, polymorphism dan inheritance.
  • Dalam konsep pengaturcaraan, encapsulation merupakan kaedah mengumpulkan data (variable) dan kod aturcara berkaitan data (method) sebagai satu unit.
  • Setiap variable yang terlibat akan didaftarkan sebagai private dan kaedah public getter dan public setter akan digunakan untuk membawa data ke sana ke mari.
  • Teknik ini menyebabkan variable yang didaftarkan di dalam sesebuah class tersembunyi daripada class yang lain. Dengan ini, maklumat-maklumat penting dapat dirahsiakan daripada pengguna akhir.
  • Selain itu, teknik ini juga membolehkan sesebuah class didaftarkan sebagai read-only atau write-only. Dengan cara ini, ia dapat meningkatkan lagi security sesebuah aplikasi.
  • Encapsulation ni dia lebih kurang macam mana kita nak juga pakai data yang jelas-jelas dah private.

Kebaikan 

  • Variable bagi class tersebut hanya boleh digunakan untuk dibaca dan ditulis sahaja (read&write only).
  • Class boleh ada kawalan penuh terhadap semua variable yang ada dalam class tersebut.
  • Pengguna class tak tahu macam mana class tersebut simpan data. Class juga boleh ubah data type variable dan pengguna class tersebut tidak perlu ubah apa-apa dari coding mereka.

Contoh Code dan Output


public class encaptest  // nama class {
private String name ;          - data type bagi variable-variable ini sudah dideclared sebagai private
private String idnum ;
private int age;

public int getAge() {          - di sini kita gunakan kaedah public getter
return age ;
}

public String getName() {
return name ;
}

public String getIdnum() {
return idnum ;
}

public void setAge( int newAge) {         - di sini pula kita gunakan kaedah public setter
age = newAge;
}

public void setName(String newName) {
name = newName ;
}


public void setIdnum (String newId) {
idnum = newId ;
}

}

public class runtest  // nama main class {  
public static void main (String args[])
{
encaptest encap = new encaptest() ;
encap.setName("Liyana") ;
encap.setAge(18) ;
encap.setIdnum("991221-02-****") ;

System.out.println ("Name : "+encap.getName() +" Age : "+encap.getAge() +" Id num :             "+encap.getIdnum()) ;
}
}




p/s jika coding ini tidak dapat run , ada error , maka anda boleh buang public  - yang berwarna ini sahaja - kerana ada yang boleh run dan ada yang tidak bergantung kepada komputer masing masing tapi tidak menjejaskan coding pun. semoga berjaya :)


No comments:

Post a Comment