欢迎光临散文网 会员登陆 & 注册

类的属性//get与set

2023-03-02 12:55 作者:此城过客  | 我要投稿

属性是用来保护字段的。对字段的赋值和取值进行限定。比如 a._age = 13;显然age不可能是负数,但如果用户输入一个负数呢?所以得做一些限定。

属性的本质就是两个方法,一个是get(),一个是set(),set是赋值,get是取值。

类的访问权限,publicprivate,前者是公开 的,后者是私有的,只能在类的内部使用(赋值、取值、调用)。在外部就没法使用了。如果要使用,得用getset方法

比如说,

private int _age;由于age的属性是私有的,因此要对age操作,只能再写一个专门的方法:

public int  Age

    get return _age; } 

    set { _age=value; }

}

那么赋值取值也就是对Age操作,而不是_age;输出也是输出Age,而不是_age


如果要限定ag的范围,不想让age/年龄出现负数,可以在set后面写条件语句:

public int  Age

    get return _name; } 

    set {

              if (value<0 || value>100);//如果value小于0或者大于100

              { value=0; }//那就把0赋值给他

              _age=value;//否则就是正常的,把value给他

            }

}


================================================

get语句里也可以写条件,

比如,public char _gender;性别只能是男或者女,如果输入一个别的,我们要默认为男

那就可以在 get 语句里写:

public char  Gender

    get {

              if( _gender !='男' &&  _gender !='女' )//如果 性别 不是 男 也不是 女

              { return _gender='男'; }//默认是男

              return _gender;//否则就正常的给性别。这里其实相当于else

          } 

    set { _gender=value; }

}





类的属性//get与set的评论 (共 条)

分享到微博请遵守国家法律