Java:存取方法?变异法?

时间:2014-04-10 02:40:53

标签: java

考虑一个名为rotate的潜在实例方法,它通过交换宽度和高度值将Rectangle对象旋转90度。例如,如果Rectangle的尺寸为10 x 30,则调用rotate方法会将其尺寸更改为30 x 10.

我认为这将是一种存取方法,对吧?既然我们实际上没有改变价值观?

3 个答案:

答案 0 :(得分:1)

访问者方法

  

访问器方法用于返回私有字段的值。

Mutator Methods

  

mutator方法用于设置私有字段的值。

因此,您正在更改私有字段的状态,因此它是一个mutator。

答案 1 :(得分:0)

参见this关于访问者方法含义的讨论。一般意见是他们修改状态。如果你旋转对象,你正在修改它的状态,rotate正在改变对象。

答案 2 :(得分:0)

任何改变对象状态的方法都是正确的mutator。当你改变尺寸(通过交换)时,它是一个突变。根据您的类定义,这些将是访问器方法,

public int getX() { return x; }
public int getY() { return y; }
public int getWidth() { return width; }
public int getHeight() { return height; }