Abstract Class dalam JavaScript ES6
Abstract class adalah konsep dalam pemrograman berorientasi objek yang memungkinkan Anda mendefinisikan kelas dasar yang tidak dapat diinstansiasi secara langsung. Artinya, Anda tidak dapat membuat objek dari kelas abstrak itu sendiri. Sebaliknya, Anda harus mewariskannya ke kelas lain yang kemudian dapat diinstansiasi.
Mengapa menggunakan Abstract Class?
Abstract class berguna untuk:
- Membuat struktur dasar untuk kelas yang lebih spesifik: Mereka mendefinisikan metode dan properti umum yang akan diwariskan ke kelas turunan.
- Mencegah instansiasi kelas dasar secara langsung: Ini memastikan bahwa semua implementasi kelas dasar memiliki perilaku yang konsisten dan tidak ada implementasi yang tidak lengkap.
- Membuat kode lebih mudah dipelihara: Dengan memisahkan logika umum ke dalam kelas abstrak, Anda dapat mengurangi duplikasi kode dan meningkatkan fleksibilitas dalam pengembangan Anda.
Cara Membuat Abstract Class dalam JavaScript ES6
Sebelum ES6, JavaScript tidak memiliki dukungan langsung untuk kelas abstrak. Namun, dengan ES6, kita dapat membuat kelas abstrak menggunakan kata kunci abstract
.
Berikut contoh sederhana kelas abstrak dalam JavaScript ES6:
abstract class Shape {
abstract getArea(): number;
}
class Circle extends Shape {
constructor(public radius: number) {
super();
}
getArea(): number {
return Math.PI * Math.pow(this.radius, 2);
}
}
const circle = new Circle(5);
console.log(circle.getArea()); // Output: 78.53981633974483
Penjelasan:
- Kita mendeklarasikan kelas abstrak bernama
Shape
menggunakan kata kunciabstract
. Shape
memiliki metode abstrakgetArea()
. Metode abstrak dideklarasikan dengan kata kunciabstract
dan tidak memiliki implementasi.- Kita membuat kelas
Circle
yang mewariskanShape
. Circle
mengimplementasikan metodegetArea()
yang menghitung luas lingkaran.- Kita dapat membuat instance
Circle
dan memanggil metodegetArea()
.
Penting untuk diingat:
- Anda tidak dapat membuat instance dari kelas abstrak (
Shape
dalam contoh di atas). - Kelas abstrak harus diwariskan ke kelas lain.
- Kelas turunan harus mengimplementasikan semua metode abstrak dari kelas induknya.
Keuntungan Menggunakan Abstract Class
- Membuat kode lebih terstruktur: Abstract class membantu Anda mengatur kode Anda dengan mendefinisikan pola umum untuk kelas turunan.
- Mencegah kesalahan: Dengan memastikan bahwa kelas turunan mengimplementasikan semua metode abstrak, Anda mencegah kesalahan potensial saat runtime.
- Meningkatkan fleksibilitas: Dengan mewariskan kelas abstrak, Anda dapat dengan mudah menambahkan kelas turunan baru tanpa harus memodifikasi kode kelas induk.
Abstract class adalah alat yang kuat untuk membuat kode JavaScript lebih terstruktur, mudah dipelihara, dan fleksibel. Dengan memahami konsep dasar ini, Anda dapat meningkatkan kualitas kode Anda dan membangun aplikasi yang lebih baik.