Java Abstraction

Java Abstraction

Abstract Class dan Method #

Data Abstraction/Abstraksi adalah proses menyembunyikan beberapa detil dan menampilkan hanya informasi esensial kepada user. Abstraction dapat dicapai dengan class abstract atau class interfaces (yang akan Anda pelajari pada tutorial selanjutnya).

Keyword abstract merupakan sebuah non-access modifier, yang digunakan untuk class dan method :

  • Abstract Class: merupakan sebuah class terbatas yang tidak dapat digunakan untuk membuat object (untuk mengaksesnya, harus mewariskan (inheritance) ke class lain).
  • Abstract Method: hanya dapat digunakan di dalam sebuah class abstract, dan tidak memiliki bentuk, bentuknya tersedia pada subclass-nya (class yang mewarisinya (inheritance)).

Sebuah class abstract dapat memiliki kedua jenis method, method abstract dan dan method biasa :

abstract class Hewan { 
     public abstract void suaraHewan();
     public void tidur() {
         System.out.println("Zzz");
     }
}

Dari contoh di atas, tidak memungkinkan untuk membuat sebuah object dari class hewan :

Hewan objectSaya = new Hewan(); // akan menghasilkan error

Untuk mengakses class abstract, harus melakukan inheritance ke class lain. Mari kita convert class hewan yang kita gunakan dalam tutorial Polymorphism ke dalam sebuah class abstract :

// class abstract
abstract class Hewan {
    // Method abstract (tidak memiliki bentuk)
    public abstract void suaraHewan();

    // Method biasa
    public void tidur() {
        System.out.println("Zzz");
    }
}

// Subclass ( dari hewan)
class Tikus extends Hewan {
     public void suaraHewan() {
         // Bentuk dari method suaraHewan() tersedia disini
         System.out.println("Tikus bersuara : ciit ciit");
     }
}

class Main {
     public static void main(String[] args) {
         Tikus tikusSaya = new Tikus(); // Membuat object tikus
         tikusSaya.suaraHewan();
         tikusSaya.tidur();
     }
}

Output :

Tikus bersuara : ciit ciit
Zzz

Kapan Dan Mengapa Menggunakan Class Dan Method Abstract? #

Untuk memperoleh keamanan dengan menyembunyikan beberapa detil dan hanya menampilkan detil yang penting dari sebuah object.

Abstraction dapat juga diperoleh dengan Interfaces, yang akan Anda pelajari pada tutorial selanjutnya.

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0