Pages

Konsep PBO Abstract Class

//bentuk2D.java
//----------------------------------------
package abstractclass;

public abstract class bentuk2D {

    public abstract void cetakLuas();

    public abstract void cetakKeliling();
}


//bujursangkar.java
//----------------------------------------
package abstractclass;

public class  extends bentuk2D {

    private int sisi;
    private int luas;
    private int keliling;

    public bujursangkar(int sisi) {
        this.sisi = sisi;
    }

    public void cetakKeliling() {
        luas = sisi * sisi;
        System.out.println("Luas Bujur sangkar adalah " + luas);
    }

    public void cetakLuas() {
        keliling = 4 * sisi;
        System.out.println("Keliling bujur sangkar adalah " + keliling);
    }
}



//persegiPanjang.java
//----------------------------------------
package abstractclass;

public class persegiPanjang extends bentuk2D {

    private int panjang;
    private int lebar;
    private double luas;
    private int keliling;

    public persegiPanjang(int panjang, int lebar) {
        this.panjang = panjang;
        this.lebar = lebar;
    }

    public void cetakKeliling() {
        keliling = 2 * (panjang + lebar);
        System.out.println("keliling persegi panjang adalah " + keliling);
    }

    public void cetakLuas() {
        luas = panjang * lebar;
        System.out.println("Luas persegi panjang adalah " + luas);
    }
}


//Main.java
//----------------------------------------


package abstractclass;

public class Main {

    public static void main(String args[]) {
        bentuk2D objAbstract = new bentuk2D() {

            @Override
            public void cetakLuas() {
                throw new UnsupportedOperationException("Not supported yet.");
            }

            @Override
            public void cetakKeliling() {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        };
        bujursangkar kotak = new bujursangkar(4);
        persegiPanjang kotakPanjang = new persegiPanjang(4, 2);
        kotak.cetakLuas();
        kotak.cetakKeliling();
        kotakPanjang.cetakLuas();
        kotakPanjang.cetakKeliling();
    }
}

 

0 comments:

Posting Komentar