Sabtu, 26 Oktober 2013

Pertemuan 5: Abstract Class,Interface dan Inner Class

1. Abstract Class
    a. 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 bernafas();
        public void status(){
        System.out.println("Nama :"+Nama);
        System.out.println("Jumlah Kaki : "+JlhKaki);
        System.out.println("Bisa Terbang : "+BisaTerbang);
        }
        }

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

        Outputnya:






      

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

         Output:               
            


     2. Interface
         a. Pekerjaan.java
             interface Pekerjaan {
             public void namaPekerjaan();
             public void gaji();
             }

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



             Output:
               



         3. Inner Class
             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();
              }
              }


             Output:
           

Tidak ada komentar:

Posting Komentar