字段与属性

字段:一般在类的内部做数据交互使用,首字母小写表示,一般用 private 修饰

属性:描述对象的静态特征,数据类型要和对应的字段一致,首字母大写表示,一般用 public 修饰

       :属性就是外界访问私有字段的入口,属性本身不保存任何数据,本质是一个方法,对属性赋值和读取就是操作对应私有字段

 1 class Student
 2 {
 3        private string StudentName = string.Empty; // 字段
 4 
 5        public string Student // 属性
 6        {   // 访问器
 7            get{return StudentName;} // 读取数据  
 8            set{StudentName = value;} //写入数据  
 9        }
10 }
11         Student S1 = new Student();
12         S1.Studeng = "ZhangSan"; // 相当于调用方法

 属性的作用:避免出现非法数据,限定属性只读或者只写

 1 class Student
 2 {
 3        private int age;
 4 
 5        public string Age
 6        {   
 7            get{return age;} 
 8            set
9 { 10 if(value<0)
11 {
12 age = 18; 13 } 14 else 15 { 16 age = value; 17 } 15 }
19 }
20 }

 抽象属性类似于抽象方法,继承后在子类中重写

 1 public abstract class Person
 2 {
 3       public abstract string Name
 4       {
 5          get; // 只能声明
 6          set;
 7       }
 8 }
 9 class Student : Person
10 {
11       private string name = string.Empty;
12 
13       public override string Code {get;set;} // 自动属性
14 }