Memahami Konstruktor di Abstract Class dalam JavaScript
Dalam dunia pemrograman berorientasi objek, abstract class memainkan peran penting dalam mendefinisikan struktur umum untuk turunannya, yang disebut dengan concrete classes. Meskipun abstract class sendiri tidak dapat diinstansiasi, mereka dapat memiliki konstruktor yang berperan dalam menginisialisasi properties dan metode yang diwariskan ke kelas turunannya.
Konstruktor di Abstract Class
Konstruktor pada abstract class berfungsi sebagai blueprint untuk konstruktor kelas turunannya. Mereka tidak dieksekusi secara langsung, tetapi diwariskan dan diimplementasikan oleh kelas turunan.
Berikut adalah contoh sederhana bagaimana konstruktor bekerja dalam abstract class:
abstract class Shape {
constructor(color) {
this.color = color;
}
abstract getArea(): number;
}
class Rectangle extends Shape {
constructor(color, width, height) {
super(color); // Memanggil konstruktor dari abstract class
this.width = width;
this.height = height;
}
getArea() {
return this.width * this.height;
}
}
const myRectangle = new Rectangle("red", 5, 10);
console.log(myRectangle.color); // Output: "red"
console.log(myRectangle.getArea()); // Output: 50
Pada contoh di atas:
- Shape adalah abstract class yang memiliki konstruktor yang menerima parameter
color
dan menginisialisasi propertycolor
. - Rectangle adalah concrete class yang mewarisi Shape.
- Konstruktor Rectangle memanggil
super(color)
untuk menginisialisasicolor
yang diwariskan dari Shape.
Pentingnya Konstruktor dalam Abstract Class
-
Inisialisasi Property Umum: Konstruktor abstract class memungkinkan Anda untuk mendefinisikan dan menginisialisasi property umum yang akan diwariskan oleh kelas turunannya. Hal ini memastikan konsistensi dalam struktur dan implementasi kelas turunan.
-
Pengaturan Awal: Konstruktor abstract class dapat digunakan untuk mengatur nilai awal untuk property dan metode yang diperlukan sebelum kelas turunan mulai beroperasi.
-
Kode yang Terstruktur: Konstruktor abstract class membantu dalam menjaga struktur kode yang terorganisir, terutama saat bekerja dengan hierarki kelas yang kompleks.
Kesimpulan
Konstruktor dalam abstract class merupakan mekanisme penting dalam pemrograman berorientasi objek di JavaScript. Mereka membantu dalam mendefinisikan struktur umum untuk kelas turunannya, memastikan konsistensi, dan memberikan basis untuk inisialisasi dan pengaturan awal. Penggunaan konstruktor abstract class dapat meningkatkan modularitas, keterbacaan, dan pemeliharaan kode Anda.