Pages

Kamis, 06 Desember 2012

Super


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
treatPatient(){
   super.treatPatient();
     //menambahkan kode khusus untuk Surgeon
}
Super kata kunci dapat digunakan untuk mengakses setiap anggota data atau metode dari kelas super di kelas sub.

-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 ~,~

 

Blogger news

Blogroll