Kamis, 08 November 2012

Tugas AP3 JAVA


Yang perlu anda ketehui, Di dalam java terdapat tiga akses yaitu,private,protected,dan public tentunya tingkat akses tersebut mempunyai fungsi dan kegunaan masing-masing.untuk keterangan dari tingkat akses akan saya jelaskan di bawah ini :

1.Tingkat akses Private
Dengan menggukanan data dan method dengan tingkat akses private,maka data dan method tersebut hanya dapat di akses oleh kelas yang di milikinya saja

2.Tingkat akses Protected
Suatu data atau method yang di deklarasi kan dengan tinggakt akses protected dapat di akses oleh kelas yang di milikinya saja dan juga kelas-kelas yang masih memiliki keturunan.

3.Tingkat akses Public
Tingkatan public merupakan kebalikan dari tingkat akses private.data maupun method dapat di akses oleh semua bagian di dalam program
 
 
Method atau fungsi dalam java adalah suatu cara untuk memecah program menjadi beberapa bagian, sehingga ketika mengerjakan program tersebut bisa dilakukan pembagian tugas kepada beberapa orang. Ketika kita sudah mendevelop program dalam skala besar maka kita perlu menggunakan yang namanya method. 
 
Untuk membuat method yang memiliki nilai kembalian/return value, maka kita harus menghilangkan keyword void pada method yang kita buat dan menggantikannya dengan jenis variable kembalian kita, dimana dalam contoh tersebut nilai kembalian / return value berupa integer. Pengenalan Teknik Rekursif Selain itu dalam suatu method kita dapat memanggil method yang lainnya, atau bahkan memanggil method itu sendiri, peristiwa pemanggilan method oleh dirinya sendiri inilah yang disebut rekursif.

Contoh program dengan tingkat akses Private, Protected dan Public

package lutfijava;

/**
 *
 * @author mlutfis
 */
class A {
    private int a; //hanya di kenali oleh kelas A
   
    // hanya dapat dikenali oleh kelas A dan turunan turunannya
    protected void setA(int nilai) {
        a = nilai;
    }
    //hanya dapat dikenali oleh kelas A dan turunan turunannya
    protected int getA() {
        return a;
    }
}
class B extends A {
    private int b;
   
    // constructor kelas B
    B(int nilaiA, int nilaiB) {
        // a = nilaiA // SALAH, karna a tidak dikenali disini
        setA(nilaiA); //menggunakan method setA()
        b = nilaiB;
    }
    public void showData() {
        // menggunakan method getA()
        System.out.println("Nilai a : " + getA());
        System.out.println("Nilai b : " + b);
    }
}

class C {
    private int C;
   
    public void setC(int nilai) {
        //setA(10); //SALAH, setA() tidak dikenali disini
        C = nilai;
    }
    public int getC() {
        return C;
    }
    public void showC() {
        //System.out.println("Nilai a = " + getA()); // SALAH, getA() tidak dikenali disini
    System.out.println("Nilai c : " + C);
}
}
public class TugasJava {
    public static void main(String[] args) {
        // melakukan instansiasi terhadap kenlas B
        B obj = new B(40, 50);
        obj.showData();
        obj.setA(100);
       
        System.out.println("Nilai a : " +  obj.getA());
    }
}

Output
Nilai a : 40
Nilai b : 50
Nilai a : 100

Dalam program di atas, kita mendefinisikan method setA() dan getB() pada kelas A dengan sifat Protected. Dengan demikian method tersebut dapat di akses oleh kelas turunan turunannya (dalam hal ini kelas B). Namun, pada saat kita mengakses method tersebut dari kelas C, maka akan terjadi kesalahan ketika proses kompilasi. Hal ini disebabkan karena kelas Ctidak memiliki hubungan hirarki dengan kelas A. Disini, kelas C di anggap sebgaia lingkungan luar yang tidak diizinkan untuk mengakses data data protected dari kelas A.

0 komentar:

Posting Komentar