为了账号安全,请及时绑定邮箱和手机立即绑定

怎么能够引用后只能进行一次赋值

比方说上面的性别,怎么写代码能让Main里赋值一次后就不允许第二次赋值或第二次无效

就像已经被赋值为男,下面在给同一个人赋值为女,下面的这个赋值命令无效

正在回答

1 回答

将属性设置为私有变量,然后只声明公有get方法,然后通过设置一个有参的构造方法,将你要设置的属性值在构造方法中赋值,这样在外部类访问的时候只能赋值一次且不可修改,可以通过公有的访问器方法获取属性值

我简写一点代码示例

前面头部和命名空间我省略

class Child{

  private string name;

  private char sex;

  public Childern(string name,char sex){

    this.name = name;//将传进来的值赋值给当前对象

    this.sex = sex;

  }

  public string Name{

    get {return name;}//只声明get访问器,不要声明set访问器

  }

  public char getSex(){

    get{return sex;}//只声明get访问器,不要声明set访问器

  }

}

这样你在其他的类中创建该对象时只有一次赋值操作,但是你要是在Child中写Main方法访问该值,那仍然是可以修改的,因为private的限制范围为“类私有”,只要不出了本类的作用域还是可以修改,但是在其他类新建了Child对象就不可以修改了,比如你在一个叫People的类中new了一个Child对象,这时通过构造器赋值的属性就不可以再修改了



0 回复 有任何疑惑可以回复我~
#1

你最重要79

第四行写错了,是 public Child(string name,char sex){
2018-10-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

怎么能够引用后只能进行一次赋值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信