【问题标题】:Difference between Accessors and Mutators in JavaScript and JavaJavaScript 和 Java 中访问器和修改器的区别
【发布时间】:2012-05-06 03:49:31
【问题描述】:

在 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,会不会对资源造成太大压力?

【问题讨论】:

  • 查看这篇文章link

标签: java javascript setter getter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多