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