040

Inheritance / Pewarisan

By in Java PBO on 24 November, 2012

Setelah kita mengetahui apa itu encapsulation / enkapsulasi kali ini ane akan mebahas lagi konsep PBO yaitu inheritance / pewarisan, apaan lagi nih pewarisan ? mau bagi warisan om ? hahaha. ya ga lah :)

Pewarisan merupakan pewarisan atribut / variabel dan methode dari sebuah class ke class lainnya, class yang diwarisi disebut superclass dan class yang mewarisi disebut subclass,  superclass tidak dapat mewarisi subclass. Mungkin untuk lebih gampang nya ane coba visualisasikan ke dunia nyata ya (emangnya alam gaib bang, hehe) :

Ane coba jelasin dikit ya gambar diatas, disitu ada orang tua dan anak nya, orang tua nya memiliki bakat bermain musik dan anak nya juga ada kemungkinan memiliki bakat bermain musik serta memiliki warna kulit yang sama tetapi tidak mungkin ada orang tua yang memiliki bakat bermain musik atau warna kulit dari anaknya, bener ga ? :)   . Jadi si orang tua itu bertidak sebagai super class dan si anak bertindak sebagai sub class.

Untuk mewarisi superclass maka digunakan kata kunci extends.

Untuk lebih memahami mari kita buat program tersebut, berikut langkah-langkah nya :

  • Buka netbeans
  • Bikin project baru dengan nama 'Inheritance' (Bagi yang belum tau cara bikin project, silahkan lihat postingan ane sebelumnya, click here)
  • Pada package inheritance bikin class baru dengan nama 'OrangTua' , lalu ketikkan :

     

    package inheritance;
    
    /**
     *
     * @author rizkiyuwanda
     */
    public class OrangTua {
        
        private String warnaKulit;
        
        public void setWarnaKulit (String warnaKulitBaru){
            warnaKulit = warnaKulitBaru;
        }
        
        public String getWarnaKulit(){
            return warnaKulit;
        }
        
        public void bermainMusik(){
            System.out.println("Dapat bermain musik");
        }    
    }
    
  • Setelah itu bikin class baru lagi pada package inherintance dengan nama 'Anak' , lalu ketikkan :

    package inheritance;
    
    /**
     *
     * @author rizkiyuwanda
     */
    public class Anak extends OrangTua{
        
    }
    
    

    Pada class 'Anak' terlihat kita menambahkan kata kunci extends OrangTua, yang artinya class 'Anak' mewarisi class 'OrangTua'. Jadi 'Anak' sebagai subclass dan 'OrangTua' sebagai superclass
     

  • Buka class 'Inheritance'  , lalu ketikkan :

    package inheritance;
    
    /**
     *
     * @author rizkiyuwanda
     */
    public class Inheritance {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            Anak anakBaru = new Anak();
            anakBaru.setWarnaKulit("Coklat");
            anakBaru.bermainMusik();
            System.out.println(anakBaru.getWarnaKulit());
        }
    }
    
    

    Coba kita amati kode tersebut, kita menciptakan object bernama 'anakBaru' dari class Anak, tetapi object 'anakBaru' tersebut memiliki methode setWarnaKulit() dan bermainMusik() padahal kan didalam class 'Anak' tidak ada methode tersebut, kenapa jadi kita bisa menggunakan methode tersebut ? itu karena class 'Anak' meng-extends class 'OrangTua', jadi apapun atribut dan methode yang dimiliki oleh class 'OrangTua' maka dapat diwarisi oleh class 'Anak'.
     

  • Sekarang pada project 'Inheritance' klik kanan lalu pilih 'run', maka program kita dapat berjalan sesuai dengan class yang kita warisi :)

 

Gimana OSHolic ? mudah-mudahan dapat dipahami ya penjelasan ane yang sangat sederhana tersebut, hehe, mohon kritik n saran nya ya bila ada kesalahan maupun kekurangan dalam posting kali ini :)

Download Source kode 

Download171 downloads

 

Leave a Reply

Your email address will not be published. Required fields are marked *


9 + = 12

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>