2017年8月18日 星期五

Superclasses and Subclasses


  • 假設有兩種車輛的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的能力



參考資料

https://classroom.udacity.com/courses/ud015












沒有留言:

張貼留言