Inheritance di JavaScript
Berbeda dengan pada C++ dan Java, implementasi konsep inheritance di JavaScript tidak hanya ada satu, tapi ada beberapa. Secara umum, pola-pola tersebut dapat dikelompokkan menjadi dua: berbasis fungsi konstruktor dan berbasis objek. Pada kelompok pertama, kita akan memanfaatkan properti fungsi konstruktor parent object agar bisa diwariskan menjadi properti fungsi konstruktor child object (ingat, di JavaScript, fungsi adalah object yang punya properti dan bahkan method). Pada kelompok kedua, kita akan melakukan ‘cloning‘ terhadap object yang sudah ada (yang akan jadi parent). Selanjutnya, object baru hasil ‘cloning’ (yang jadi child) bisa kita tambah-tambahi dengan properti baru.
Inilah kedua-belas cara implementasi inheritance di JavaScript (implementasi inheritance sesuai standard ECMAScript adalah yang pertama):
- Prototype chaining (constructor)
- Inherit only the prototype (constructor)
- Temporary constructor (constructor)
- Copying the prototype properties (constructor)
- Copy all properties (shallow copy) (object)
- Deep copy (object)
- Prototypal inheritance (object)
- Extend and augment (object)
- Multiple inheritance (object)
- Parasitic inheritance (object)
- Borrowing constructors (constructor)
- Borrow a constructor and copy the prototype (constructor)
Pilih yang mana ? Masing-masing tentu punya kelebihan dan kekurangan…
(sumber: Object-Oriented JavaScript, Create scalable, reusable high-quality JavaScript applications, and libraries, Stoyan Stefanov, 2008)
No comments yet.
Leave a comment
-
Archives
- November 2009 (5)
- October 2009 (15)
- September 2009 (12)
- August 2009 (5)
- July 2009 (4)
- June 2009 (7)
- May 2009 (14)
- April 2009 (7)
- March 2009 (7)
- February 2009 (18)
- January 2009 (15)
- December 2008 (13)
-
Categories
- analysis
- aspect oriented
- CBSE
- critical system
- design
- digital learning
- e-business
- ecosystem
- final project
- fun
- health informatics
- introduction
- lecture
- maintenance
- method
- oop
- others
- programming
- project
- project management
- quality
- real time system
- requirement
- research
- service computing
- soa
- software architecture
- software metrics
- software process
- software product
- software quality
- software standard
- technology
- testing
- tools
- Uncategorized
- webE
-
RSS
Entries RSS
Comments RSS