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
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
/**
*
* @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