7.4.2 设置器和访问器

在上面的程序段中,出现过“set”和“get”函数,那么这些函数起着什么作用?在Java语言中把“set”函数称为设置器,把“get”函数称为访问器。

访问器只查看对象的状态或者返回对象的属性值。访问器有以下特点:

方法声明部分有返回值类型。

方法声明没有参数。

方法体内有返回语句。

设置器主要是完成某个对象属性值的赋值功能。设置器有以下特点:

方法返回类型为void,即不返回类型。

方法声明中至少有一个参数。

方法体内肯定有赋值语句。

把上例中的设置器和访问器单独拿出来看看是否是具有这些特点。


01 void set(String name, String code, String sexy, String duty)

02 {

03 this.name=name;

04 this.code=code;

05 this.sexy=sexy;

06 this.duty=duty;

07 }

08 public String getname()

09 {

10 return name;

11 12

}

13 public String getcode()

14 {return code;

15 }

16 public String getsexy()

17 {return sexy;

18 }

19 public String getduty()

20 {return duty;}

21 public void setachi(double achievement)

22 {

23 this.achievement=achievement;

24 }

25 public double getachi()

26 {

27 return achievement;

28 }


【代码说明】先观察这些“set”函数:“set”、“setachi”函数。“void set(String name, String code, String sexy, String duty)”带了4个参数,无返回值,存在4个赋值语句。“public void setachi(double achievement)”带了一个参数,无返回值,且存在一个赋值语句。

再来观察“get”函数:“getname”、“getcode”、“getduty”、“getsexy”、“getachi”。这5个访问器都是有返回值,不带任何参数,且方法体内有一个返回语句。

如果要实现一个对属性的访问和设置,一般应该有以下几项内容:

一个私有的字段变量。

一个公开的字段访问器。

一个公开的字段设置器。