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;
}
}
}
}