在Javascript中,我想创建两个类:一个节点和一个节点列表。一个节点包含一些微不足道的属性;节点列表包含指向节点的指针,并且多个节点列表可以包含相同的节点。以下是正确的(简单)设计吗?Javascript对象设计
function Node(name, x, y) {
this.name = name;
this.x = x;
this.y = y;
}
Node.prototype.setX = function(x) {
this.x = x;
};
Node.prototype.setY = function(y) {
this.y = y;
};
function Nodelist() {
this.list = [];
}
Nodelist.prototype.addNode = function(node) {
this.list.push(node);
};
var a = new Node('stack', 0, 0);
var b = new Node('overflow', 0, 0);
var l = new Nodelist();
var m = new Nodelist();
l.addNode(a);
l.addNode(b);
m.addNode(a);
我是否还需要这些.prototype.set
函数?在控制台中玩耍,似乎我可以做一个node.x = 10
。谢谢。
false,您可以使用关闭在构造函数中定义的局部变量的实例函数来影响私有变量。 – 2011-05-03 18:19:44
是的。这就是为什么我提到*真正的私有变量*,因为作为语言功能支持的私有变量 – z33m 2011-05-03 18:23:14
感谢您花时间解释您对“真正的私有变量”的个人定义。无论如何,downvote停留,因为你基于你的声明,即getters/setter在这个微不足道的观点上毫无意义。 getter/setters在oojs中肯定不是毫无意义的。 – 2011-05-03 19:10:56