Monday, 19 November 2012

Pengertian Inheritance (Pewarisan) dan Contoh Programnya

Inheritance adalah turunan atau pewarisan suatu class ke class baru dengan mewakili semua function yang ada di class utama (parent class). Inheritance sering sekali digunakan di dalam promgraman berorientasi objek atau OOP. Dengan kata lain, class utama (parent class) dengan classes turunannya berhubungan satu sama lain.

Contoh :

 #abstrack

package latihan;
public abstract class Bentuk2D { //abstract class Bentuk2D
   
    // state
    int panjang = 1;
    int lebar = 1;
    int alas = 3;
    int tinggi = 5;
    double phi = 3.14;
    int r = 2;
   
    // behaviour
    public abstract double hitungLuas();
    public abstract String getBentuk();
   
}

#class utama

package latihan2;

 * @author hendrik
 */
public class LatihanBentuk2D { // class utama LatihanBentuk2D

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        BujurSangkar A = new BujurSangkar(); 
        A.setSisi(20);
        System.out.println("Luas " + A.getBentuk() + " = " + A.hitungLuas());
       
        Kubus B = new Kubus();
        B.setSisi(10);
        System.out.println("Luas " + A.getBentuk2() + " = " + B.hitungVolume());
       
        persegipanjang C = new persegipanjang();
        C.hitungLuaspersegi();
        System.out.println("Luas " + A.getBentuk3() + " = " + C.hitungLuaspersegi());
       
        segitiga D = new segitiga();
        D.hitungLuassegitiga();
        System.out.println("Luas " + A.getBentuk4() + " = " + D.hitungLuassegitiga());
       
        lingkaran E = new lingkaran();
        E.hitungLuaslingkaran();
        System.out.println("Luas " + A.getBentuk5() + " = " + E.hitungLuaslingkaran());
    }
}

#Turunan 1


package latihan;

 * @author hendrik
 */
public class BujurSangkar extends Bentuk2D {
   
    public void setSisi(int sisi) {
        panjang = sisi;
    }

    @Override
    public double hitungLuas() {
        return panjang*panjang;
    }

    @Override
    public String getBentuk() {
        return "Bujur Sangkar";
    }
    public String getBentuk2() {
        return "kubus";
    }
    public String getBentuk3() {
        return "Persegi panjang";
    }
    public String getBentuk4() {
        return "segitiga";
    }
      public String getBentuk5() {
        return "lingkaran";
    } 
}

#Turunan 2

package latihan;
 * @author hendrik
 */
public class Kubus extends BujurSangkar {
       
    public double hitungVolume() {
        // 1. return panjang*panjang*panjang;
        return hitungLuas() * panjang;
    }
   
}

#Turunan 3

package latihan;

/**
 *
 * @author hendrik
 */
public class persegipanjang extends BujurSangkar {
       
    public double hitungLuaspersegi() {
        // 1. return panjang*panjang*panjang;
        return panjang*lebar;
    }
   
}

#Turunan 4

package latihan;

/**
 *
 * @author hendrik
 */
public class segitiga extends BujurSangkar {
       
    public double hitungLuassegitiga() {
        // 1. return panjang*panjang*panjang;
        return ((alas*tinggi)/2);
    }
   
}


#Turunan5

package latihan;

/**
 *
 * @author hendrik
 */
public class lingkaran extends BujurSangkar {
       
    public double hitungLuaslingkaran() {
        // 1. return panjang*panjang*panjang;
        return (phi*(r*r));
    }
   
}

Hasil run dari class utama



No comments:

Post a Comment