ABSTRAK CLASS,
INTERFACE, INNER CLASS
A.
ABSTRAK
CLASS
Abstrak class adalah
suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih
abstract method. Abstrak method adalah suatu method yang memiliki implementasi
dan menggunakan modifier abstract. Abstrak class selalu menjadi kelas induk dan minimal harus memiliki satu buah method abstrak.
Deklarasi abstract
class pada java:
[modifier] abstract class NamaKelas
{
//deklarasi atribut
//defenisi/prototype method
}
Contoh :
a.
Membuat Program MahlukHidup.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 = JlhKaki1;
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);
}
}
Output
:
Tidak
ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan
seperti dibawah ini :
// merupakan method dengan type data string, integer dan boolean
this.Nama = Nama1;
// mengubah Nama menjadi Nama1
this.JlhKaki = JlhKaki1;
// mengubah JlhKaki menjadi JlhKaki1
this.BisaTerbang = BisaTerbang1;
// mengubah BisaTerbang menjadi BisaTerbang1
- abstract void bernafas();
// merupakan method abstrak
- public void status(){
//merupakan method dengan nama status
System.out.println("Nama :" +Nama);
//memanggil variabel Nama tetapi belum dapat ditampilkan
System.out.println("Jumlah Kaki :" +JlhKaki);
//memanggil variabel JlhKaki tetapi belum dapat ditampilkan
System.out.println("Bisa Terbang :" +BisaTerbang);
b.
Membuat Program Manusia.java
public
class Manusia extends MakhlukHidup {
Manusia(String Nama){
// merupakan method dan konstruktor
super(Nama,2, false);
//untuk memanggil konstruktor kelas induk
}
public void bernafas() {
System.out.println(Nama+"
bernafas dengan menghirup O2");
}
public static void main (String []
args) {
Manusia m = new
Manusia("Sayuti");
//memanggil konstruktor manusia
m.status();
//memanggil method status dan menampilkannya
m.bernafas();
//memanggil method bernafas dan menampilkannya
}
}
Output
:
c.
Membuat 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 m = new
Tumbuhan("Bayam");
m.status();
m.bernafas();
}
}
Output :
B.
INTERFACE
Interface adalah suatu
kelas yang berisi method-method tanpa implementasi, namun tanpa modifier
abstract, apabila suatu interface memilki atribut, maka atributnya akan berlaku
sebagai konstanta.
Deklarasi interface
pada java:
[modifier] Interface NamaInterface{
//deklarasi konstanta
//defenisi method
}
Contoh :
a.
Membuat Program Pekerjaan.java
interface
Pekerjaan {
//pedeklarasian interface
public void namaPekerjaan();
public void gaji();
}
Output :
Tidak ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan seperti dibawah ini :
b.
Membuat Program Ummy.java
public
class Ummy extends Manusia implements Pekerjaan {
//mengimplementasikan metho-method Pekerjaan dan merupakan turunan dari kelas induk Manusia
public Ummy() {
super("Ummy");
}
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){
Ummy u = new Ummy();
//membuat objek baru dengan nama u
u.status();
//untuk memanggil dan menampilkan method status dari kelas Manusia
u.bernafas();
u.namaPekerjaan();
//untuk memanggil dan menampilkan method namaPekerjaan dari kelas Ummy
u.gaji();
}
}
Output :
C.
INNER
CLASS
Inner class adalah
kelas yang disisipkan di dalam kelas yang lain. Fungsinya adalah untuk
mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class
bersifat tersarang terhadap kelas-kelas utamanya.
Contoh :
a.
Membuat 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{
//class jantung di dalam class orang
public void
bunyiJantung() {
System.out.println("deg,,,deg...deg,,,deg...deg,,,");
}
public void istirahat(){
System.out.println("Silangkan
ke "+jumlKaki+" kaki.");
tahanNafas();
}
}
}
class
JantungManusia{
//merupakan class baru yang memiliki fungsi utama
public static void main (String[]
args) {
Orang o = new Orang();
Orang.Jantung p = o.new
Jantung();
//objek baru yang kelas jantung di dalam kelas orang / karena objek p berada pada objek o
o.dengarBunyiJantung();
//untuk memanggil dan menampilkan method dengarBunyiJantung dari dari class orang
p.istirahat();
//untuk memanggil dan menampilkan method istirahat dari dari inner class jantung
}
}
Output :
Tidak ada komentar:
Posting Komentar