DASAR TEORI
A.
ABSTRACT CLASS
Mekanisme
yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak
disertai defenisinya dikenal dengan nama metode abstract, sedangkan kelassnya
dinamakan kelas abstract.
Abstract
class adalah suatu kelas yang
dinyatakan abstract, umumnya memiliki satu atau lebih abstract method. Abstract
method adalah suatu method yang memiliki implementasi dan menggunakan modifier
abstract. Abstract class biasanya dijadikan parent/ super class dari
kelas-kelas yang dapat membuat objek, abstract class tidak dapat diinstasiasi.
Defenisi kelas diletakkan dalam masing-masing kelas turunan. Dalam hal ini
setiap kelas turunan harus mendefenisikan metode-metode yang tergolong sebagai
metode abstract.
B.
INTERFACE
Interface adalah
suatu class yang berisi method-method tanpa implementasi, namun tanpa modifier
abstract. Apabila suatu interface memiliki atribut, maka atributnya akan
berlaku sebagai konstanta. Interface menyerupai class. Perbedaannya, kata kunci
interface menggantikan kedudukan kata kunci class.
Penentu akses public biasa digunakan dengan tujuan agar
interface dapat diakses oleh class manapun. Jika tak ada penentu akses public,
interface hanya dapat diakses oleh class-class yang berada dalam paket yang
sama.
C.
INNER CLASS
Inner class adalah
class yang disisipkan di dalam class yang lain. Fungsi class sisipan ini adalah
mendukung suatu proses yang akan dijalankan oleh class utamanya. Inner class
bersifat tersarang terhadap class-class utamanya.
***LANGKAH-LANGKAH
PRAKTIKUM***
Contoh Program
MakhlukHidup.java
public
abstract class MakhlukHidup {
protected boolean BisaTerbang = false;
protected String Nama;
protected int JlhKaki;
public MakhlukHidup(String Nama1,
int JlhKaki1,boolean
BisaTerbang1) {
this.Nama = Nama1;
this.JlhKaki = JlhKaki;
this.BisaTerbang = BisaTerbang1;
}
abstract void bernafas();
public void status() {
System.out.println("Nama
: " +Nama);
System.out.println("Jumlah
kaki : " +JlhKaki);
System.out.println("Bisa
terbang : " +BisaTerbang);
}
}
Contoh Program
Manusia.java
public
class Manusia extends MakhlukHidup {
Manusia(String nama) {
super(nama, 2,false);
}
public void bernafas() {
System.out.println(Nama+"
bernafas dengan menghirup O2");
}
public static void main(String []
args) {
Manusia m = new
Manusia("Sayuti");
m.status();
m.bernafas();
}
}
Contoh Program
Tumbuhan.java
public
class Tumbuhan extends MakhlukHidup {
Tumbuhan(String nama) {
super(nama, 0,false);
}
public void bernafas() {
System.out.println(Nama+"
bernafas dengan menghirup CO2");
}
public static void main(String [] args)
{
Tumbuhan t = new
Tumbuhan("Bayam");
t.status();
t.bernafas();
}
}
Contoh Program
Pekerjaan.java
interface
Pekerjaan {
public void namaPekerjaan();
public void gaji();
}
Contoh Program
Sasya.java
public
class Sasya extends Manusia implements Pekerjaan {
public Sasya() {
super("Sasya");
}
public void namaPekerjaan() {
System.out.println("Pekerjaan
: Sekretaris");
}
public void gaji() {
System.out.println("Gaji
: Rp. 3.000.000");
}
public static void main(String[]
args) {
Sasya s =
new Sasya ();
s.status();
s.bernafas();
s.namaPekerjaan();
s.gaji();
}
}
Contoh Program
JantungManusia.java
class
Orang {
private int jumlKaki = 2;
public void dengarBunyiJantung() {
Jantung
j = new Jantung ();
j.bunyiJantung();
}
public void tahanNafas() {
System.out.println("Jantung
berhenti berdetak..!");
}
//inner
class
class Jantung {
public void
bunyiJantung() {
System.out.println("deg...deg...deg...");
}
public void istirahat()
{
System.out.println("Silangkan
ke "+jumlKaki+" kaki. ");
tahanNafas();
}
}
}
class
JantungManusia {
public static void main (String[]
args) {
Orang o =
new Orang();
Orang.Jantung
p = o.new Jantung();
o.dengarBunyiJantung();
p.istirahat();
}
}
Tidak ada komentar:
Posting Komentar