Contoh Program Abstrak Class dan Interface pada Java

Abstract Class

Abstrak secara umum dapat kita artikan sebagai gambaran tentang sesuatu hal namun belum begitu jelas gambarannya. Sehingga masih butuh suatu proses lagi supaya gambaran tentang sesuatu tersebut menjadi lebih jelas (konkrit). kelas Abstrak tidak berbeda dengan kelas- kelas lainnya yaitu memiliki class members (method dan variabel). Sebuah class adalah abstrak jika  salah  satu  methodnya  dideklarasikan  abstract.  Method abstrak  adalah  method  yang ditentukan dari dalam kelas tapi tidak disertai definisinya . Beberapa hal yang perlu diperhatikan adalah sebagai berikut:
  • Class abstrak tidak dapat dibuatkan instant atau objeknya menggunakan keyword new.
  • Sebuah class dapat dideklarasikan sebagai class abstrak walaupun tidak memiliki method abstrak.

Definisi kelas diletakkan pada masing – masing kelas turunan (subclass). Dalam hal ini setiap subclass dari kelas abstrak harus mendefinisikan method-method yang tergolong sebagai method  abstrak.  Untuk  membuat  kelas  abstrak  digunakan  key  word  abstract  dengan  cara penulisan seperti berikut:

abstract <nama method>{
//variable instan
//method non abstrak
//method abstrak

Contoh dari kelas abstrak adalah obyek bangun 2 dimensi (2D). Semua obyek bangun 2D dapat dihitung luas dan kelilingnya, tapi karena rumus untuk mendapatkan luas dan kelilingnya berbeda-beda untuk tiap – tiap bangun 2D maka method untuk menghitung luas dan keliling dibuat sebagai abstrak. Pada subclass – subclassnya baru akan diimplementasikan secara detail disertai penulisan rumus untuk masing – masing bangun 2D.

Interface

Selain kelas abstrak terdapat pula kelas interface. Kelas ini sering disebut pure abstract. Sebuah  interface  dapat  dibayangkan  sebagai  kelas  abstrak  yang  seluruh  methodnya  adalah abstrak. Interface digunakan pada kelas-kelas lain dengan cara diimplementasikan dengan menggunakan key word implements. Sedangkan untuk membentuknya menggunakan keyword interface dengan aturan seperti berikut:

<modifier> interface <nama interface> {
//definisi konstanta
// method abstrak
}

Interface dapat dibedakan dengan kelas abstrak dalam hal seperti berikut :
  • Kelas abstrak dapat memiliki method abstrak maupun non abstrak tapi interface harus berisi method abstrak semua.
  • Kelas abstrak dapat mendeklarasaikan variabel instant, sedangkan interface hanya dapat mendefinisikan konstanta.
  • Interface dapat diimplementasikan lebih dari dari satu interface.
  • Pada interface modifier yang digunakan hanya public atau tidak sama sekali.

Ok sobat sekarang kita akan buat program untuk mencetak ciri makhluk hidup (manusia, hewan, tumbuhan). Ciri ciri didefiniskan kedalam suatu method yang bertipe abstrak dalam sebuah abstract class. Kemudian buatlah class baru (manusia, hewan, dan tumbuhan) untuk meng-extends class tersebut.

Langkah pertama kita akan buat Class MakhlukHidup.java

public abstract class MakhlukHidup {
   
   public abstract void berdiri ();
   
   public void oksigen(){
       System.out.println("- butuh Makanan");
       System.out.println("- butuh oksigen");
       System.out.println("- butuh air");
   }     
}

Selanjutnya buat Class Manusia.java dan extends ke MakhlukHidup.java

public class Manusia extends MakhlukHidup {
    private String duaKaki;
    public Manusia(String duaKaki){
        this.duaKaki = duaKaki;
    }
    public void berdiri (){
        System.out.println("Manusia berdiri menggunakan :  "+duaKaki);
    }
}

Buat Class Hewan.java dan extends ke MakhlukHidup.java

public class Hewan extends MakhlukHidup {
    private String kakiEmpat, kakiDua ;
    public Hewan(String kakiEmpat, String kakiDua){
        this.kakiEmpat = kakiEmpat;
        this.kakiDua   = kakiDua;
    }
    
    public void berdiri (){
        System.out.println("Kambing berdiri menggunakan :  " +kakiEmpat);
        System.out.println("Ayam berdiri menggunakan    :  " + kakiDua);
    }    
}

Buat lagi Class Tumbuhan.java dan extends ke MakhlukHidup.java

public class Tumbuhan extends MakhlukHidup {
    private String Akar;
    public Tumbuhan (String Akar){
        this.Akar = Akar;
    }
    public void berdiri (){
        System.out.println("Tumbuhan berdiri dengan     :  "+Akar);
    }
}

Yang terakhir buat Class MainMakhlukHidup.java sebagai method mainnya

public class MainMakhlukHidup {
    public void cekMakhlukHidup (MakhlukHidup mHidup){
        mHidup.berdiri();
        mHidup.oksigen();
    }
    
    public static void main(String[] args) {
        MainMakhlukHidup tMakhlukHidup = new MainMakhlukHidup();        
        
        tMakhlukHidup.cekMakhlukHidup(new Manusia("Dua Kaki"));       
        
        System.out.println("-----------------------------------------");                              
        tMakhlukHidup.cekMakhlukHidup(new Hewan ("Empat Kaki","Dua Kaki"));
        
        System.out.println("-----------------------------------------");        
        tMakhlukHidup.cekMakhlukHidup(new Tumbuhan ("Akar"));
        
    }
}
Jalankan programnya dengan klik kanan --> Run File, pada MainMakhlukHidup.java dan berikut hasilnya:
abstract class dan interface
abstract class dan interface
Keyword :
  • contoh program abstrak class dan interface pada java
  • program abstrak class dan interface pada java
  • penggunaan abstrak class dan interface pada java
  • program untuk mencetak ciri makhluk hidup abstrak class dan interface pada java
  • abstrak class dan interface pada java
  • abstrak class dan interface pbo java
  • matakuliah pemrograman berorientasi object
  • cara membuat program untuk mencetak ciri makhluk hidup abstrak class dan interface

2 Responses to "Contoh Program Abstrak Class dan Interface pada Java"

Visitor