Selasa, 12 Maret 2019

PERTEMUAN 4 ABSTRACT CLASS, INTERFACE, INNER CLASS


ABSTRACT CLASS, INTERFACE, INNER CLASS

A.     Abstract class.

Abstract kelas adalah suatu kelas yang dinyatakan  abstract, umumnya memiliki suatu atau lebih abstract method. Abstract method adalah suatu method yang memiliki implementasi dan menggunakan modifier abstract. Abstract kelas biasanya dijadikan parent/ super class dari class yang dapat membuat objek, abstract kelas tidak dapat diinstansi.
Defenisi kelas diletakkan dalam masing- masing turunan. Dalam hal ini setiap kelas turunan harus mendefenisikan metode yang tergolong sebagai meode abstract.

B.     Interface.
Interface adalah suatu kelas yang berisi method tanpa implementasi, namun tanpa modifier abstract, apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta.
Interface menyerupai kelas, perbedaannya, kata kunci interface menggantikan kedudukan kata kunci class.
Penentu akses public biasanya digunakan dengan tujuan agar interface dapat diakses oleh kelas manapun. Jika tidak ada penentu akses public, interface hanya dapat diakses oleh kelas yang berada dalam paket yang sama.

C.     Inner class.
Inner class adalah kelas yang disisipkan didalam kelas yang lain, fungsi sisipan kelas ini adalah mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas utamanya.

ATRIBUT = VARIABEL



LANGKAH PRAKTIKUM


a.      MEMBUAT 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 = JlhKaki1;
this.BisaTerbang = BisaTerbang1;
}
abstract void status();
public void status() {
System.out.println(“Nama : “+Nama);
System.out.println(“Jumlah Kaki : “+JlhKaki);
System.out.println(“Bisa Terbang : “+BisaTerbang);
}
}

Tidak memiliki output karena tidak memiliki fungsi utama.



b.      MEMBUAT 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 statis void main(String[] args) {
Manusia m = new Manusia(“Sayuti”);
m.status();
m.bernafas();
}
}

Outputnya :
Nama : Sayuti
Jumlah kaki : 2
Bisa terbang : false
Sayuti bernafas dengan menghirup O2



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 t = new Tumbuhan(”Bayam”);
t.status();
t.bernafs();
}
}

outputnya :
nama : Bayam
jumlah kaki : 0
bisa terbang ; false
Bayam “bernafas dengan menghirup CO2”


d.      MEMBUAT PROGRAM Pekerjaan.java


interface Pekerjaan {
public void namaPekerjaan() ;
public void gaji();
}

Program ini tidak menghasilkan output karena tidak memiliki fungsi utama.




e.       MEMBUAT PROGRAM Sasya.java


public class Sasya extends Manusia implementasi 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();
}
}

Outputnya :
Nama : Sasya
Jumlah kaki : 2
Bisa terbang : false
Sasya bernafas dengan menghirup O2
Gaji : 3.000.000



f.        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 {
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

PERTEMUAN 11 KOMPONEN KOMPONEN SWING LANJUTAN.

KOMPONEN – KOMPONEN SWING LANJUTAN Swing merupakan alternatif lain untuk mengimplementasikan pemprograman window. Walaupun diimplement...