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...
}

しかし、Java では、2 番目の例のように getter と setter がないのは奇妙です。

  1. JavaScript で getter / setter を使用するのはいつですか?
  2. すべての JavaScript コンストラクター オブジェクトに対して断固として getter と setter を使用すると、リソースに負担がかかりすぎますか?
4

1 に答える 1

0

アクセサーとミューテーターを提供する理由は、カプセル化のためであり、正しく見えるためではありません。これがオブジェクト指向です。同じ原則を JavaScript に適用したい場合は、そうしてください。

于 2012-05-06T03:53:48.997 に答える