为什么要引入属性的概念?
属性更多的人把它解读为“访问器”
我个人的理解是
在创建类的时候,不方便直接对类里面的字段做限制,例如值变量的取值范围,字段变量的备选等。
那么通过添加对访问器的条件或者限制,就可以达到在为对象参数具体赋值的时候,进行进一步的限制,保护。
例如常规的属性应用(我捎带脚,顺便把构造函数也使用了)
namespace ConsoleApp2
{
class Pro
{
static void Main(string [] args)
{
Man zhichao = new Man(32);
zhichao.Print();
}
}
类曼
{
公共曼(INT年龄)//创建构造函数
{
this.Age =年龄;
}
private int _age;
public int Age
{
get
{
Console.WriteLine(“完成年龄赋值”);
return _age * 3;
}
set
{
_age = value - 2;
Console.WriteLine(“_age取值”);
}
}
公共无效打印()
{
Console.WriteLine(“我今年{0}”,年龄);
Console.ReadKey();
}
}
}
执行函数,得到的结果为:
_age取值
完成时代赋值
我今年90
那么很明显,属性(访问器)的执行过程,就是
1,先把对象.Age的值通过set赋给了_age,即使_age取到值;
在这个过程当中,可以加条件判断,也可以进行数学运算
这里我做了运算 - ,把获取到的对象zhichao的_age-2
2,把_age的值,通过get返回给Age,即而使Age被重新赋值
在这个过程当中,可以加条件判断,也可以进行数学运算
在这里我做了运算*把前面_age-2后的值,进行了* 3
3,最终年龄的值已经不是初始化时候的32,而经过访问器后,变成了(32-2)* 3 = 90
以上就是我在学习到属性当中时,对于属性的概念理解,以及计算过程的推导,希望对于大家学习的过程当中也有所帮助,感谢大家浏览,欢迎关注【评论】