【发布时间】:2014-12-20 19:12:29
【问题描述】:
我想在我的子类中使用我父母的类方法。
在经典的 OOP 中,您只需扩展您的子类以利用您父母的功能,这可以使用原型吗?
这是我的文件结构:
父.js
var Parent = function(){
this.add = function(num) {
return num + 1;
};
};
module.exports = Parent;
Child.js
var Parent = require("./parent.js"),
util = require("util");
var Child = function() {
this.sum = function(num) {
// I want to be able to use Parent.add() without instantiating inside the class
// like this:
console.log(add(num));
};
};
util.inherits(Child, Parent);
module.exports = Child;
程序.js
var child = require("./child.js");
var Calculator = new child();
Calculator.sum(1);
显然,add() 在此处未定义。
我试过使用util.inherits,但我不确定这是不是正确的方法。
考虑到我希望有多个子类从我的父类继承,我还想问一下这在 JavaScript 中是否是一个好的设计模式?
【问题讨论】:
-
你必须写成
this.add(num)。 -
你还必须在
Child构造函数中做Parent.call(this)
标签: javascript node.js oop design-patterns prototype