Pages

Jumat, 05 Juli 2013

Pewarisan pada Java

            Salah satu kelebihan pemrograman berorientasi objek adalah penggunaan ulang kode-kode yang telah dibuat. Pewarisan adalah salah satu cara untuk menggunakan kode-kode yang telah dibuat sebelumnya.

Sebagai contoh kelas manusia diturunkan menjadi kelas: programmer, tentara.

/*
Disimpan dalam file “programmer.java”
*/
public class programmer extends manusia
                {
                public programmer(String n)
                {
                                super(n);
                }

                public void kerja()
                {
                System.out.println("Tak…Tak…Klik..");
                }

                public void bersantai()
                {
                System.out.println("Game over, You lose...");
                }
}


/*
Disimpan dalam file “tentara.java”
*/

class tentara extends manusia
{
                public String pangkat;
                public tentara(String n, String p)
                {
                                super(n);
                                this.pangkat= p;
                }

                public String tampilkanPangkat()
                {
                return pangkat;
                }
                public void kerja()
                {
                System.out.println("Dor... Dor... Dor..");
                }
}

            Keyword super digunakan untuk memanggil metodh yang ada pada baseclass, sedangkan this
menunjukkan/mereferensi pada objek terkini Andi adalah seorang programmer keturunan manusia, setelah dia makan lalu kerja dan terakhir dia bersantai dengan komputernya sehingga implementasi dengan kode javanya.

/*
Disimpan dalam file “andi.java”
*/

class andi
{
                public static void main(String arg[])
                {
                programmer andi= new programmer("Andi");
                System.out.println("Nama= "+ andi.tampilkanNama());
                andi.makan();
                andi.kerja();
                andi.bersantai();
                }
}

Kalau dieksekusi class Andi akan menghasilkan

Nama= Andi
Nyam... nyam... nyam...
Tak.Tak..Klik..

            Setelah Objek andi memberitahu namanya, dia makan dengan metodh warisan dari kelas manusia, kemudian dia kerja dengan metodh khusus kelas programmer dan terakhir dia bersantai juga dengan metodh khusus kelas programmer.

            Kelas turunan akan mewariskan atribut-atribut dan metodh-metodh parentclassnya/baseclass, akan tetapi dia tidak mewarisi konstruktor-konstruktornya sehingga ketika andi makan maka dia makan dengan metodh dari parentclassnya (manusia).

Akan tetapi ketika dia kerja, dia kerja dengan metodh baru yang didefinisikan khusus pada kelas programmer (“Tak…Tak…Klik.. “ bukan “Kerja….kerjaaa…”), inilah yang disebut dengan metodh overriding.

            Lainhalnya dengan Andi, Badu adalah seorang tentara berpangkat kopral keturunan manusia. Suatu saat dia ditanya atasannya nama dan pangkatnya, kemudian dia disuruh makan dan kemudian diperintah untuk kerja, maka kode javanya :
/*
Disimpan dalam file “badu.java”
*/

public class badu
{
                public static void main(String arg[])
                {
                tentara badu= new tentara("Badu","Kopral");
                System.out.println("Nama= "+ badu.tampilkanNama());
                System.out.println("Pangkat= "+ badu.tampilkanPangkat());
                badu.makan();
                badu.kerja();
                }
}

            Dalam kasus badu, selain badu mewarisi atribut nama dari manusia, sebagai tentara dia mempunyai atribut pangkat. Jadi dalam pewarisan, kita bisa menambah atribut-atribut baru dan juga bisa menambahkan metodh-metodh baru, bahkan mengoverride metodh yang ada pada parentclassnya.

Metodh Final
            Metodh final adalah metodh yang tidak bisa dioverride oleh subclassnya. Pendefinisian metodh final dengan cara menambahkan keyword final didepan definisi metodh tersebut, seperti pada contoh berikut

Public final void tidur();
                System.out.println(“Zzz..Zzzz..Zzzzzzz”);

Dengan cara seperti ini maka kita mendefinisikan bahwa metodh tidur adalah dengan cara

System.out.println(“Zzz..Zzzz..Zzzzzzz”);


Baik dilakukan oleh kelasnya sendiri maupun oleh anak cucu kelasnya.

Tidak ada komentar:

Posting Komentar