- 假設有兩種車輛的class,有部分功能不同,但也有許多一樣的部分
- 可以把功能相同的部分抽到Car這個Superclass,Van跟Cop是Subclass,它們去產生一個Car物件,並且在這個物件上作其他功能的新增
- 如果是用new產生的物件呢?
- Car是Superclass,Van是Subclass,Subclass的實作有幾點要注意
- 使用Car.call( )將Car用到的this改綁成Van的this
- 使用Object.create()將Van.prototype可以Delegate Car.prototype,形成Prototype Chain,如此一來Van物件才能使用Car的move method
- 由於Van.prototype重設了,則Van.prototype.constructor會變成空的,所以也要重新將它設成Van
- Van.prototype.grab的設定代表可以新增methods的能力
沒有留言:
張貼留言