属性?访问器?变量?来看下这两种有什么区别?
public class Test
{
public Test()
{
}
public string AAA;
public string BBB
{ get; set; }
}
Testb = new Test();
b.AAA = "11111";
b.BBB = "22222";
AAA和BBB有什么区别啊?
它们都算是“属性"吗?
------解决方案--------------------前者是变量,后者是属性,照你这样写,没什么区别,直接用变量还好。
------解决方案--------------------变量也是属性的一种,可读可写
属性可以设置为只读或只写,也可以是可读可写
------解决方案--------------------
public class Test
{
public Test()
{
}
public string AAA;
private string BBB;
public SetBBB(string bbb)
{
this.BBB=bbb;
}
public GetBBB()
{
return this.BBB;
}
}
Testb = new Test();
b.AAA = "11111";
b.SetBBB("2222");
这样写不知道LZ能否理解一些
属性其实就是一个写方法和读方法的封装
还有一般类中变量都是不公开的 用private 或者protected去修饰
属性是公开的
------解决方案--------------------字段是真正存储状态的地方,属性其实是一对方法
------解决方案--------------------AAA是字段,通常是不会被暴露在外的,即不会设成public。
要想访问或设置字段,要通过public的方法,而在C#中提供了属性这种方式,其实就是一对提供访问/设置的方法。
BBB是属性。