Konsep Inheritance pada Objek – JavaScript

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.

Satu respons untuk “Konsep Inheritance pada Objek – JavaScript

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.