在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