Abstract Class
Abstract class (kelas abstrak) adalah kelas yang tidak dapat diinstansiasi
menjadi objek.
biasanya kelas abstrak digunakan pada hirarki kelas paling tinggi
induk dari semua kelas yang ada pada hirarki kelas yang dibuat
Kegunaan : untuk menggambarkan sistem secara keseluruhan.
Hirarki Kelas
class Program{
public static void main(String[] args){
Persegi psg = new Persegi(3);
PersegiPanjang psgpjg = new PersegiPanjang(5, 7);
psg.cetak();
System.out.println("Rumus Persegi\n=====");
System.out.println("Luas Persegi : "+ psg.luas());
System.out.println("Keliling Persegi : "+ psg.keliling());
psgpjg.cetak();
System.out.println("Rumus Persegi Panjang\n=====");
System.out.println("Luas Persegi Panjang : "+
psgpjg.luas());
System.out.println("Keliling Persegi Panjang : "+
psgpjg.keliling());
}
}
Interface
Interface adalah blok yang berisikan kumpulan metode kosong (tanpa
badan).
ketika sebuah kelas mengimplementasikan interface, maka kelas
tersebut tidak ada hubungan hirarki dengan interface yang
diimplementasi
Kegunaan interface adalah mengikat aturan kepada kelas-kelas, tanpa
terhubung dengan konsep pewarisan.
Deklarasi Interface
Metode kosong interface merupakan metode kosong yang dideklarasikan didalam blok interface
Metode kosong interface adalah metode yang tidak memiliki badan (body) metode, ditandai dengan
tanda kurung buka-tutup (()) setelah mencantumkan nama metode.
<modifier> interface <NamaInterface>{
<deklarasiAtributYangMemilikiNilaiInisialisasi>*
<deklarasiMetodeKosongInterface>*
}
Penggunaan Interface
public interface Hubungan{
public char perbandingan(double a, double b);
public boolean polindrom(String kata);
}
}
class PenggunaanHubungan implements Hubungan{
//Override metode kosong
public char perbandingan(double a, double b){
return (a>b)?'1':(b>a)?'2':'0';
}
class Program{
public static void cetakBanding(char banding){
if(banding=='1')
System.out.println("Nilai 1 lebih besar");
else if(banding=='2')
System.out.println("Nilai 2 lebih besar");
else
System.out.println("Nilai 1 dan 2 sama besar");
}
public static void cetakPolindrom(boolean hasilPolindrom){
if(hasilPolindrom)
System.out.println("merupakan POLINDROM");
else
System.out.println("merupakan BUKAN POLINDROM");
}
TAMPILAN OUTPUT
Catatan :
Berdasarkan contoh program, terlihat bahwa semakin banyak
Interface