Pemrograman Berorientasi Objek (Object-Oriented Programming/OOP) adalah paradigma pemrograman yang berfokus pada konsep objek, di mana setiap objek memiliki atribut dan metode yang terkait dengannya. Salah satu konsep penting dalam OOP adalah warisan (inheritance), yang memungkinkan sebuah objek untuk mewarisi atribut dan metode dari objek lain.
Dalam JavaScript, warisan dapat diimplementasikan menggunakan prototipe. Prototipe adalah objek yang menjadi acuan untuk mencari atribut dan metode jika tidak ditemukan pada objek itu sendiri. Dengan menggunakan prototipe, kita dapat membuat hirarki objek di mana objek-objek baru dapat mewarisi sifat-sifat objek yang sudah ada.
Untuk mengilustrasikan konsep warisan dalam JavaScript, mari kita lihat contoh berikut:
// Definisikan objek induk
function Kendaraan() {
this.merek = 'Unknown';
this.tahunProduksi = 0;
}
// Tambahkan metode pada objek induk
Kendaraan.prototype.getInfo = function() {
return 'Merek: ' + this.merek + ', Tahun Produksi: ' + this.tahunProduksi;
}
// Definisikan objek anak yang mewarisi dari objek induk
function Mobil(merek, tahunProduksi) {
this.merek = merek;
this.tahunProduksi = tahunProduksi;
}
// Lakukan warisan dengan menghubungkan prototipe objek anak ke objek induk
Mobil.prototype = Object.create(Kendaraan.prototype);
// Buat objek mobil baru
var mobilBaru = new Mobil('Toyota', 2020);
// Panggil metode getInfo() dari objek mobil baru
console.log(mobilBaru.getInfo()); // Output: Merek: Toyota, Tahun Produksi: 2020
Dalam contoh di atas, kita memiliki objek induk Kendaraan
yang memiliki atribut merek
dan tahunProduksi
, serta metode getInfo()
untuk mengembalikan informasi mengenai kendaraan tersebut. Selanjutnya, kita mendefinisikan objek anak Mobil
yang memiliki parameter merek dan tahun produksi. Objek anak ini akan mewarisi atribut dan metode dari objek induk.
Pada baris Mobil.prototype = Object.create(Kendaraan.prototype);
, kita melakukan penghubungan prototipe antara objek anak Mobil
dengan objek induk Kendaraan
. Hal ini memungkinkan objek anak untuk mengakses metode getInfo()
yang ada pada objek induk.
Kemudian, kita membuat objek mobilBaru
dengan menggunakan konstruktor Mobil
dan mengisi nilai merek dan tahun produksi. Dengan menggunakan metode getInfo()
dari objek mobilBaru, kita dapat mengakses metode dari objek induk dan mendapatkan informasi mengenai mobil tersebut.
Dengan menggunakan konsep warisan (inheritance), kita dapat menghindari duplikasi kode dan memanfaatkan kembali kode yang sudah ada. Selain itu, konsep ini juga memungkinkan kita untuk membuat struktur hierarki objek yang lebih terorganisir dan modular dalam pengembangan perangkat lunak.
Itulah penjelasan tentang menerapkan warisan (inheritance) dalam pemrograman berorientasi objek (OOP) menggunakan JavaScript. Dengan pemahaman tentang konsep ini, Anda dapat mengembangkan aplikasi JavaScript yang lebih terstruktur dan mudah dikelola.