java - JavaScript 和 Java 中的访问器和修改器之间的区别

标签 java javascript setter getter

在 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 中使用 getters/setters?
  2. 如果我坚持对所有 JavaScript 构造函数对象使用 getter 和 setter,会不会对资源造成太大的压力?

最佳答案

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

关于java - JavaScript 和 Java 中的访问器和修改器之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467921/

相关文章:

java - 如何将圆圈移动到 "WEST"边框布局框?

javascript - 如何在 HTML 中重复选择元素

javascript - 如何访问 Handlebars 中的 URL 参数?

java - 运行 Activity 两次(而不是一次)以从 getter 获取值

iOS 二传手 setter/getter

wolfram-mathematica - 在 mathematica 的 Manipulate 对象中调整面板位置

java - 如何根据标签用另一个 fragment 替换 fragment 管理器中的现有 fragment

java - 操作栏消失了

java - 内部类如何使这个引用转义

javascript - 在 react 中循环图像的最佳方式