如下代碼:
1 public class Age 2 { 3 4 private int ageNum ; 5 6 public int AgeNum { 7 get{ 8 return this.ageNum; 9 } 10 11 set{ 12 this.ageNum = value; 13 } 14 } 15 16 public int getAgeNum(){ 17 return ageNum; 18 } 19 20 public void setAgeNum(int age){ 21 this.ageNum = age; 22 } 23 24 }
在Main中做如下操作:
1 Age age = new Age (); 2 age.setAgeNum (234); 3 Console.WriteLine ("age=" + age.AgeNum); 4 5 age.AgeNum = 122; 6 Console.WriteLine ("age=" + age.getAgeNum());
輸出:
age=234
age=122
但如果將 set get 采用簡寫方式,代碼如下
public class Age { private int ageNum ; public int AgeNum { set; get; } public int getAgeNum(){ return ageNum; } public void setAgeNum(int age){ this.ageNum = age; } }
Main中內容不變,得到如下結果
age=0
age=234
如果修改Main中代碼順序如下
1 age.AgeNum = 122; 2 Console.WriteLine ("age=" + age.getAgeNum()); 3 4 age.setAgeNum (234); 5 Console.WriteLine ("age=" + age.AgeNum);
結果為
age=0
age=122
-------------------------------------------------------- 更新 -------------------------------------------
時間:2016/09/19
仔細思考后,ageNum 和 AgeNum 兩者實際上並無關聯。
使用
1 public int AgeNum { 2 get{ 3 return this.ageNum; 4 } 5 6 set{ 7 this.ageNum = value; 8 } 9 }
實際上就是等同 java 中的getValue和setValue。
而使用 set;get簡寫的方式,操作的是AgeNum,與ageNum沒有任何關系。
