《类结构的成员-属性》
1、描述一个对象从字段和方法两个方面进行
2、属性,实际就是一个访问字段的途径(本质是方法)
1、
在一个类中定义属性是为了提供灵活的机制来读取、编写或计算私有字段的值,所以属性一般有一个与之对应的私有字段
例如: class TestClass { string name; //私有字段只有本类中间可以访问到,外部成员无法访问 public string Name //属性对外开放,可以同它读写对应的私有字段 { get { return name; } //get访问器提供获取值 set { name = value; } //提供设置私有值 } }
在外部通过属性读写私有字段
TestClass ts1=new TestClass();
//给属性赋值
ts1.Name="dedeyi";
//读取属性值
Console.WriteLine(ts1.Name);
2、属性的本质是方法
例如: class TestClass { string name; //私有字段只有本类中间可以访问到,外部成员无法访问 public string get_Name() { return name; } public void set_Name(string name) { this.name=name; }
public string Name //属性对外开放,可以同它读写对应的私有字段 {
get { return name; } //get访问器提供获取值 set { name = value; } //提供设置私有值 } }
在原来的类中添加获取,设置字段name,编译器会报错,但是我们并没有定义其他的 get_Name(),set_Name(),方法啊!
不过通过反编译可以看到TestClass内有两个方法,替代了属性,这两个方法正好就是 get_Name(),set_Name()。