免责声明:兄弟是刚刚学习C#。在理解上不一定完全正确,有发现错的地方,请留言或者发邮件给我,在此先行谢过!
一、字段、方法和属性的概念区别
类的字段准确地说应该是类的数据成员,其定义是:用于存储类和类的实例相关数据的变量。
方法就是类的函数成员,是一个为实现类的某一个特定功能的函数。因此也称为类的方法。
属性是一个代表类的实例或类中的一个数据项的函数成员。从定义可以看出,属性是类的一个函数成员或者说是方法。对类的属性的设定和获取可以用两个访问器set和get来实现。
字段,方法和属性的定义的区别如下示例:
class MyClass
{
//数据成员或者字段的定义
public int iTemp = 10;
private int iTestValue;
//属性的定义
public int MyValue
{
set //设定属性
{
iTestValue= value;
}
get //从属性获取值
{
return iTestValue;
}
}
{
//数据成员或者字段的定义
public int iTemp = 10;
private int iTestValue;
//属性的定义
public int MyValue
{
set //设定属性
{
iTestValue= value;
}
get //从属性获取值
{
return iTestValue;
}
}
//方法的定义
public void SetValue(ref int iValue)
{
TheRealValue = iValue;
}
{
TheRealValue = iValue;
}
public int GetValue()
{
return TheRealValue;
}
{
return TheRealValue;
}
}
从概念上可以区分字段和属性的区别,字段是一个用于存储数据的变量,属性是一个方法或者说是一个函数成员。
那么既然属性是一个方法,那么他和方法的区别是什么呢?
从定义就可以看出来,属性其实本身就是方法。但既然把属性和方法定义成为两个概念,那么他们之间肯定有不同地地方。个人感觉,他们最大的区别首先是属性没有参数列表,而方法必须要有参数列表,哪怕没有参数,也要放一个空括号在那。其次,属性定义里要有set和get两个访问器,用于获得属性的值和设定属性的值。其余的地方没有发现不同之处,属性里也可以判定数据的合法性,和方法没有什么两样。
转载于:https://blog.51cto.com/dingjq/269525