Minggu, 04 November 2012

ABSTRACT CLASS, INTERFACE, INNER CLASS


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();
            }
}


1 komentar:

  1. Borgata Hotel Casino & Spa: Employee Reviews, Photos & Opening
    › › Borgata Hotel Casino & Spa › 양주 출장안마 › Borgata Hotel Casino & 이천 출장마사지 Spa The Borgata Hotel Casino & Spa is a 경상남도 출장마사지 Wedding Venue in Atlantic City, NJ offering a unique experience for wedding 광주광역 출장안마 planners and  Rating: 경산 출장마사지 4.2 42 reviews

    BalasHapus