(一)属性的前世今生
1:属性的定义与使用
using System;
namespace 属性的那些事
{
class Program
{
public static void Main(string[] args)
{
Test Avalue=new Test();
Avalue.A=1000;
Avalue.printf();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
class Test
{
private int a; //私有变量
public int A //属性先执行set{}再执行get{};
{
get {return a;}//返回a的值给A,A的值由get{}获取;
set {
if(value>999)a=999;
if(value<0)a=0;//value的值是就是赋给Avalue.A的值;
}
}
public void printf()
{
Console.WriteLine("A的值是{0} a的值是{1}",A,a);
}
}
}
class Test中的A便是属性,作用是约束获取到的值。如果大于999值为999,如果小于0值为0;
2:属性的衍变
using System;
namespace 属性的那些事
{
class Program
{
public static void Main(string[] args)
{
Test Avalue=new Test();
Avalue.A(1000);
Console.WriteLine("A的值是{0} a的值是{1}",Avalue.returnA(),Avalue.a);
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
class Test
{
public int a; //共有变量
public void A(int i)//相当于set{}
{
if (i>999)a=999;
if (i<0)a =0;
}
public int returnA()//相当于get{}
{
return a;
}
}
}
class Test中的public void A(int i){...}和public int returnA(){....}就是相当于上代码片段中的A属性。
在上代码片段中要使用处理后的值直接调用Avalue.A,而在本代码段中使用处理后的值要调用Avalue.returnA()方法。
注:文章误删,重新发布。