Bagaimana jika metode treatPatient di class Surgeon ingin melakukan fungsi didefinisikan di class Dokter dan kemudian melakukan fungsi sendiri yang spesifik?
Dalam hal ini kata kunci kasus super bisa digunakan untuk mengakses metode kelas induk dari kelas anak.
Metode treatPatient di kelas Surgeon dapat ditulis sebagai:
1
2
3
4
|
-Untuk mempelajari Pewarisan, Polimorfisme & super keyword
Langkah 1) Copy kode berikut ke Editor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| class X{ private int a; int b; public void m1(){ System.out.println( "This is method m1 of class X" ); } } class Y extends X{ int c; // contoh baru variabel dari kelas Y public void m1(){ // overriden method System.out.println( "This is method m1 of class Y" ); } public void m2(){ super .m1(); System.out.println( "This is method m2 of class Y" ); } } class Test{ public static void main(String args[]){ X x= new X(); Y y = new Y(); y.m2(); //x.m1(); //y.m1(); //x = y;// klas induk mengacu pada klas anak //x.m1() ; //y.a=10; } } |
Langkah 2) Simpan, Kompilasi & Jalankan kode. Amati output.
Langkah 3) Uncomments baris # 26-29. Simpan, Kompilasi & Jalankan kode. Amati output.
Langkah 4) Uncomment baris # 30. Simpan & Kompilasi kode.
Langkah 5) Kesalahan ? Hal ini karena sub-kelas tidak dapat mengakses anggota private dari kelas super.
0 komentar:
Posting Komentar
Anda bertanya, saya akan mencoba menjawabnya ~,~