Laman

Selasa, 21 Juni 2011

pengkapsulan

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut. (sumber).
 berikut ini adalah contoh program yang menggunakan konsep pengkapsulan :
//simpan dalam manusia.java




/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


/**
 *
 * @author Asus
 */
public class manusia
        {
public String nama;
public manusia(String n)
{ this.nama = n;
}
public String tampilkanNama()
{
return nama;
}
public void makan()
{
System.out.println("Nyam... nyam... nyam...");
}
public void kerja()
{
System.out.println("Kerja... kerjaaa...");
}
private void bunuhDiri()
{
System.out.println("Dor…bruk...");
}
}


/*
Disimpan dalam file “andi.java”
*/
class andi
{
public static void main(String arg[])
{
manusia andi= new manusia("Andi");
System.out.println("Nama= "+ andi.tampilkanNama());
andi.makan();
}
}

di dalam pemrograman java, ada yang disebut hak akses, berikut ini adalah jenis"nya :
public : 
  • variabel dapat di akses pada semua kelas yang menggunakan kelas yang berisi variabel tersebut.
  • Metode dapat diakses oleh sembarang kelas. 
private


  • Hanya dapat diakses oleh metode2 dalam kelas itu sendiri. 
  • Hanya dapat diakses pada metode2 dalam kelas yang sama. 


protected : 
  • Variabel instan dapat diakses pada kelas sendiri dan subkelasnya. 
  • Metode dapat diakses pada kelas sendiri dan pada subkelasnya.
barikut ini contoh programnya :
simpan dalam tingkatAkses.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Asus
 */
public class tingkatAkses {
int a;
public int b;
private int c;
public void setC(int y) {
    this.c=y;
}
    public int getC() {
return c;
}
}
class coba {
    public static void main(String [] args){
    tingkatAkses obj = new tingkatAkses();
    obj.a=10;
    obj.b=25;
    obj.setC(50);
    System.out.println("nilai obj.a :" + obj.a);
    System.out.println("nilai obj.b :" + obj.b);
    System.out.println("nilai obj.n :" + obj.getC());
    }
}

tambahan 

mengapa jika hak akses publik pada konstruktor manusia diganti dengan private, program akan erorr??


dalam teori, dapatkah kita memberikan hak akses pada konstruktor?


bagaimana solusi agar program dapat berjalan?


ini jawabannya,,
adalah kebiasaan yang baik untuk memanggil konstruktor dari base class, dalam baris pertama konstruktor kelas turunan. karena jika tidak maka secara otomatis kompiler akan memanggil default konstruktor dari base class, komputer akam mengindikasikan adanya erorr..
bagaimana cara memanggil konstruktor dari base class?? jawabannya adalah lakukan dengan keyword super.

Tidak ada komentar:

Posting Komentar