4

在 JavaScript Circle 对象中,我可以编写如下内容:

var Circle = function (xCoordinate, yCoordinate, radius) {
    var x = xCoordinate,
        y = yCoordinate,
        r = radius;

    this.getX = function () {
        return x;
    }

    this.getY = function () {
        return y;
    }

    this.getRadius = function () {
        return r;
    }
}

而在Java中,我会写以下内容:

public class Circle {
    private x, y, radius;

    public Circle(xCoordinate, yCoordinate, radius) {
        this.x = xCoordinate;
        this.y = yCoordinate;
        this.radius = radius;
    }

    public int getX() {
        return this.x;
    }

    //and so on...
}

但是我已经看到生产标准 JavaScript 代码甚至不用像第一个示例中所示的访问器和修改器,而在 Java 中,没有第二个示例中的 getter 和 setter 会很奇怪。

  1. 我什么时候应该在 JavaScript 中使用 getter / setter?
  2. 如果我对所有 JavaScript 构造函数对象都坚持使用 getter 和 setter,会不会对资源造成太大压力?
4

1 回答 1

0

提供访问器和修改器的原因是出于封装目的,而不是为了看起来正确。这是面向对象。如果您希望将相同的原则应用于 JavaScript,那么就这样做。

于 2012-05-06T03:53:48.997 回答