tik.tok

Sabtu, 19 Mei 2012

PBO (ABSTRACT CLASS)


6.  Abstract Class

abstract class / kelas abstrak, sesuai namanya adalah kelas yang belum jelas spesifikasinya contohnya adalah gambar berikut
dapat dilihat jenis kelas diatas, kelas paling atas adalah kelas Bangun datar lalu turunan dari kelas bangun datar adalah kelas persegi, segitiga, persegi panjang. nah.. dapat diketahui kelas bangun datar adalah kelas Abstraknya, kenapa ? karena belum jelas.. hehe misalkan sebuah kelas memiliki method, maka dapat diperkirakan method dari bangun  datar adalah hitungLuas() atau hitungKeliling(). dapatkah anda menjelaskan dengan spesifik seperti apa perhitungan luas dari kelas BangunDatar ?? tentu anda akan bertanya , ya bangun datar apa dulu ??  nah method yang belum jelas seperti itu bisa disebut method abstrak. dan sebuah kelas jika ada 1 saja method yang abstrak, maka dia akan menjadi kelas abstrak.
lalu perhatikan kelas persegi, jika kelas persegi memiliki method hitungLuas() apakah anda bisa mengisi detai kode nya ? oh tentu saja bisa ini adalah contohnya
 hitungLuas(int sisi){
 int luas = 0;
  luas = sisi*sisi;
System.out.println(luas);
}
nah, anda sudah mengerti kan, apa itu kelas abstrak ? jika kelas BangunDatar adalah abstrack, maka kelas Persegi karena sudah jelas dapat disebut sebagai kelas kongkret. kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya. berikut ini aturan nya :
  • jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
  • sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
  • jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
  • jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
sementara itu dulu aturan yang harus dipahami ketika anda membuat kelas abstrak dan menggunakan kelas abstrak, aturan – aturan lain akan anda temui ketika anda mulai membuatnya.
jika kelas BangunDatar kita buat kodenya kira – kira akan menjadi seperti ini
public abstract class abstrack {
  abstract int hitungLuas();
}
lalu kita akan membuat kelas turunannya yaitu Persegi
class Persegi extends abstrack{

  int sisi;
  public Persegi(int s){
   this.sisi = s;
  }

  public int hitungLuas() {
    //method ini harus diberi implementasi
    int luas = sisi*sisi;
    return luas;
  }

public static void main(String[] args){
 Persegi p = new Persegi(5);
int luas = p.hitungLuas();
System.out.println(luas);
}

}
yaa seperti itulah contohnya, silahkan anda buat untuk luas persegi panjang dan juga segitiga, termasuk kelilingnya

Tidak ada komentar:

Posting Komentar