为什么要引入属性的概念?
属性更多的人把它解读为“访问器”
我个人的理解是
在创建类的时候,不方便直接对类里面的字段做限制,例如值变量的取值范围,字段变量的备选等。
那么通过添加对访问器的条件或者限制,就可以达到在为对象参数具体赋值的时候,进行进一步的限制,保护。
例如常规的属性应用(我捎带脚,顺便把构造函数也使用了)
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
以上就是我在学习到属性当中时,对于属性的概念理解,以及计算过程的推导,希望对于大家学习的过程当中也有所帮助,感谢大家浏览,欢迎关注【评论】
