using System; using System.Collections.Generic; using System.Linq; using System.Text; /* 属性 * 惯用法,属性开头字母大写,字段开头字母小写 * 只用set或者只有get就可以定义只读或者只写属性(只写的不常见) * 可以为set get设置访问经别 * (.Net3.x)简化set get; public int Age{ get; set; } 适合于set, get 中凤有特殊死搏斗逻辑代码的情况 * * 字段和属性的区别是什么?属性看似字段,不是字段,可以地非法值控制,可以设置只读 * set get块内部其实就是get_****... */ namespace _3属性 { class Program { static void Main(string[] args) { /*Person3 p = new Person3(); p.Age = 22; //这里使用set方法 Console.WriteLine("年龄是:{0}",p.Age); p.Age--; //这里进行的get操作 Console.WriteLine("年龄是:{0}", p.Age);*/ //Person4 p = new Person4(); //p.Age++; //这里没什么用,操作++ //Console.WriteLine(p.Age);//这里为3,但没有进行添加操作,因为没有保存 Person5 p = new Person5(); p.Age = 33; Console.WriteLine(p.Age); Console.ReadKey(); } } class Person5 { private int age; public int Age { set { this.age = value; } get { return this.age; } } } class Person3 { private int age; public int Age { //Age没有保存数据,都是保存到age中了 set //赋值 { //这里对值进行过虑 if (value < 0) //public 字段和属性的区别,可以进行非法设置值的判断 { return; } this.age = value; //value就代表用户赋值过来的值 } get{ //取值 return this.age; } } } class Person4 { public int Age { set{ } get{ return 3; } } } }