Selasa, 14 Agustus 2012
Demo Kelas Abstrak
// Mendefinisikan kelas abstract
abstract class Bentuk {
// method abstrak, tidak memiliki kode implementasi
abstract public double luas();
}
class PersegiPanjang extends Bentuk {
private double panjang;
private double lebar;
PersegiPanjang(int p, int l) {
panjang = p;
lebar = l;
}
public double luas() {
System.out.println("Dalam objek persegi panjang:");
return (panjang * lebar);
}
}
class BujurSangkar extends Bentuk {
private double sisi;
BujurSangkar(int s) {
sisi = s;
}
public double luas() {
System.out.println("Dalam objek bujursangkar:");
return (sisi * sisi);
}
}
class Segitiga extends Bentuk {
private double alas;
private double tinggi;
Segitiga(int a, int t) {
alas = a;
tinggi = t;
}
public double luas() {
System.out.println("Dalam objek segitiga:");
return ((alas * tinggi)/2);
}
}
class Lingkaran extends Bentuk {
private double jarijari;
private final double PI = 3.1416;
Lingkaran(int r) {
jarijari = r;
}
public double luas() {
System.out.println("Dalam objek lingkaran:");
return (PI * jarijari * jarijari);
}
}
class DemoKelasAbstrak2 {
public static void main(String[] args) {
Bentuk obj;
// Baris kode di bawah ini SALAH,
// karena kelas abstrak tidak dapat diinstansiasi
//obj = new Bentuk(); // SALAH
PersegiPanjang pp = new PersegiPanjang(5, 3);
BujurSangkar bs = new BujurSangkar(4);
Segitiga st = new Segitiga(4, 3);
Lingkaran lk = new Lingkaran(2);
// obj mengacu pada objek PersegiPanjang
obj = pp;
// akan memanggil method yang terdapat pada PersegiPanjang
System.out.println("Luas : " + obj.luas());
System.out.println();
// obj mengacu pada objek BujurSangkar
obj = bs;
// akan memanggil method yang terdapat pada BujurSangkar
System.out.println("Luas : " + obj.luas());
System.out.println();
// obj mengacu pada objek Segitiga
obj = st;
// akan memanggil method yang terdapat pada Segitiga
System.out.println("Luas : " + obj.luas());
System.out.println();
// obj mengacu pada objek Lingkaran
obj = lk;
// akan memanggil method yang terdapat pada Lingkaran
System.out.println("Luas : " + obj.luas());
System.out.println();
}
}
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar