1 class Clerk
2 {
3 // 属性的get和set方法包含在属性声明中
4 // get属性访问器用于返回属性值
5 // set属性访问器用于分配新值
6 // 字段:采用_camelCase命名方式
7 // 属性:采用PascalCase命名方式
8 private string _name; // 这里是一个字段 可存放多个值,变量只存放一个值
9 public string Name
10 {
11 get;
12 set;
13 }
14 private char _gender;
15 // 这是一个属性,有了属性后我们往往通过属性来访问一个字段
16 // 属性一般用public,字段用private
17 // 在外部访问类的字段,都是通过属性来完成的
18 public char Gender
19 {
20 get { return _gender; } // get可用于对取值进行限定
21 set { _gender = value; } // set可用于对赋值进行限定
22 }
23 private int _age;
24 // 通常将get与set称为访问器
25 // 属性分为4类:
26 // 1)既读又写,同时包含get,set
27 // 2)只读,只包含get
28 // 3)只写,只包含set
29 // 4) 自动属性, get;set;
30 public int Age
31 {
32 get { return _age; }
33 set
34 {
35 if (value < 0 || value > 120) value = 0;
36 _age = value;
37 }
38 }
39 private string _department;
40 public string Department
41 {
42 //自动属性
43 get;
44 set;
45
46 }
47 private int _workYears;
48 public int WorkYears
49 {
50 get;
51 set;
52 }
53
54 public void Write()
55 {
56 Console.WriteLine("我叫{0},性别{1},我的年龄是{2}, 我的部门是{3},我的工作年限{4}。", this.Name, this.Gender, this.Age, this.Department, this.WorkYears);
57 }