Modifier dalam OOP (Object Oriented Programming), seperti halnya gerbang untuk akses ke dalam apa yang ia modifierkan. Gimana ya bahasanya hmmm. kalau secara gamblangnya yang saya dapat di Tutorialspoint adalah sebagai berikut : Modifiers are keywords that you add to those definitions to change their meanings. Makin bingung kan ?. Ya sudah simak saja penjelasan dibawah semoga membuat anda tercerahkan.
Definisi ( Apasih ) Modifier (itu ?) :
hmmm, sebenarnya saya kurang tau yang benar tabel 1 atau 2. Mungkin nanti saya akan tanyakan ke beberapa sumber hehe:
Nah, gitu mari kita contohkan saja:
idenya kita buat 2 class (satu class parent, satu class child):
nah modifier public sendiri bisa diakses oleh class childnya. lihat di method toString(). Berikut hasilnya :
nah, bagaimana kalau kita biat method yang modifiernya private :
isi errornya :
percobaan, terakhir bagaimana kalau non-modifier :
dan, ternyata masih bisa dikompile dan dijalankan, hasil :
kesimpulan, bahwa akses untuk subclass bisa dalam bentuk protected dan public. terimakasih
Definisi ( Apasih ) Modifier (itu ?) :
- Modifier digunakan untuk mengatur hak akses antar/inter class dan member class. Modifier terdiri dari private, protected, public, dan internal. Ada istilah nonmodifier, kondisi ini memungkinkan class dapat mengakses class lainnya yang berada dalam satu package tetapi tidak berlaku pada sub class.(modul praktikum OOP TI Unpad 2016).
- Modifiers are keywords that you add to those definitions to change their meanings (Tutorialspoint).
- Sebuah gerbang akses kedalam apa yang di modifierkannya (saya sendiri hehe).
hmmm, sebenarnya saya kurang tau yang benar tabel 1 atau 2. Mungkin nanti saya akan tanyakan ke beberapa sumber hehe:
Tabel 1 : Modifier |
Tabel 2 : Modifier |
idenya kita buat 2 class (satu class parent, satu class child):
class Induk { int umur; public Induk(){ this.umur=45; } public String toString(){ //modifier public; return ("Umur : "+this.umur); } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.umur+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); } }
nah, bagaimana kalau kita biat method yang modifiernya private :
maka, akan muncul pesan error sedemikian :class Induk { int umur; //Modifier => non-modifier public Induk(){ this.umur=45; } public String toString(){ return ("Umur : "+this.umur); } private String cetakInduk(){ return "ini induk seharusnya ngga boleh kecetak"; } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.umur+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); System.out.println();hehe.cetakInduk(); } }
isi errornya :
Modifier.java:30: error: cannot find symbolbagaimana kalau protected :
hehe.cetakInduk();
^
symbol: method cetakInduk()
location: variable hehe of type Anak
1 error
dan hasilnya bisa dikompile dan dijalankan, berikut hasilnya :class Induk { int umur; //Modifier => non-modifier public Induk(){ this.umur=45; } public String toString(){ return ("Umur : "+this.umur); } protected String cetakInduk(){ return "ini induk seharusnya ngga boleh kecetak"; } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.umur+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); System.out.println(hehe.cetakInduk()); } }
percobaan, terakhir bagaimana kalau non-modifier :
class Induk { int umur; public Induk(){ this.umur=45; } public String toString(){ return ("Umur : "+this.umur); } String cetakInduk(){ return "ini induk seharusnya ngga boleh kecetak"; } } class Anak extends Induk{ String nama; public Anak(String nama){ this.nama = nama; } public void cetak(){ System.out.println("Ini class Anak \nNamanya : "+this.nama+"\nUmur indukan : "+super.umur); } } public class Modifier{ public static void main(String[] args) { Anak hehe = new Anak("Wahaha"); hehe.cetak(); hehe.toString(); System.out.println(hehe.cetakInduk()); } }
dan, ternyata masih bisa dikompile dan dijalankan, hasil :
kesimpulan, bahwa akses untuk subclass bisa dalam bentuk protected dan public. terimakasih
Posting Komentar untuk "Modifier dalam Java"
Berilah komentar, saran, dan kritik dengan bijak