Salah satu kharakter khas dari pemrograman berorientasi objek selain konsep objek adalah konsep inheritance. Konsep ini seperti arti katanya, pewarisan, mirip dengan seorang anak yang mewarisi kharakter orang tuanya, tetapi juga memiliki karakter khas yang tidak dimiliki oleh orang tuanya itu.
Untuk mempraktekannya silahkan buka mozilla firefox lalu tekan ctr-shift-k untuk mengaktifkan jendela developer. Untuk membuat kelas objek, silahkan lihat postingan yang lalu.
function Person(first, last, age, gender, interests) {
// property and method definitions
this.first = first;
this.last = last;
this.age=age;
}
Perlu diketahui, fungsi dalam JavaScript merupakan salah satu tipe objek (silahkan lihat penjelasannya di link resminya). Berikutnya bangkitkan sebuah objek instan dengan nama person1.
var person1 = new Person(‘Bob’, ‘Smith’, 32, ‘male’, [‘music’, ‘skiing’]);
Ketika sebuah objek instan dipanggil maka JavaScript akan menyimpannya. Coba saja ketik person1 maka ketika ditekan titik (“.”) maka akan muncul bantuan seperti tampak pada gambar di bawah ini.
Tampak di atas “age”, “first”, dan “last” yang merupakan atribut yang pada definisi kelas Person diawali kata kunci this. Pilih valueOf() maka akan muncul:
person1.valueOf()
Object { first: “Bob”, last: “Smith”, age: 32 }
Object Constructor
JavaScript menggunakan kata kunci constructor untuk menjabarkan inheritance. Misalnya kita telah memiliki objek person1 dan akan membuat person3 yang mewarisi karakteristik dari person1 yang sudah dibuat sebelumnya.
var person3 = new person1.constructor(‘Karen’, ‘Stephenson’, 26, ‘female’, [‘playing drums’, ‘mountain climbing’]);
Di sini person3 memiliki atribut seperti di atas dengan mewarisi kelas Person. Silahkan ketik: person3.age, maka akan menampilkan 26 yang merupakan umur dari objek person3. Gambaran inheritance dapat dilihat di bawah ini.