我有一个模块车辆,其中包含一般车辆信息。我有另一个模块Car,它为Vehicle对象添加了更多的功能。如何使用Object.create继承node.js中的模块
// Pseudo code only. The final functions do not have to resemble this
var vehicle = require('vehicle')
vehicle.terrain = 'Land'
var car = vehicle.createCar()
// car and anotherCar will have unique Car-related values,
// but will use the same Vehicle info
var anotherCar = vehicle.createCar()
我在使用Object.create的Car模块,但不知道Object.create调用应该去哪里。
- 我应该在Car模块中有一个构造函数,它需要一个Vehicle对象的实例并以Vehicle实例为原型执行Object.create?
- 还是应该Object.create发生在Vehicle对象的函数中,比如createCar?我的问题是,汽车应该关心它是从车辆派生出来的,汽车不应该知道汽车需要这样做。
- 或即使Object.create是正确的方法。
请大家非常感谢任何示例和最佳实践。
更新:
我改变了例子,以更好地反映我试图解决继承问题。
感谢您的样品。我结束了与util.inherits,但喜欢建设者的想法。 – baalexander 2011-05-28 04:16:31