一、字段、方法和属性的概念区别 类的字段准确地说应该是类的数据成员,其定义是:用于存储类和类的实例相关数据的变量。 方法就是类的函数成员,是一个为实现类的某一个特定功能的函数。因此也称为类的方法。 属性是一个代表类的实例或类中的一个数据项的函数成员。从定义可以看出,属性是类的一个函数成员或者说是方法。对类的属性的设定和获取可以用两个访问器set和get来实现。 字段,方法和属性的定义的区别如下示例: class MyClass { //数据成员或者字段的定义 public int iTemp = 10; private int iTestValue; //属性的定义 public int MyValue { set //设定属性 { iTestValue= value; } get //从属性获取值 { return iTestValue; } } //方法的定义 public void SetValue(ref int iValue) { TheRealValue = iValue; } public int GetValue() { return TheRealValue; } } 从概念上可以区分字段和属性的区别,字段是一个用于存储数据的变量,属性是一个方法或者说是一个函数成员。 那么既然属性是一个方法,那么他和方法的区别是什么呢? 从定义就可以看出来,属性其实本身就是方法。但既然把属性和方法定义成为两个概念,那么他们之间肯定有不同地地方。个人感觉,他们最大的区别首先是属性没有参数列表,而方法必须要有参数列表,哪怕没有参数,也要放一个空括号在那。其次,属性定义里要有set和get两个访问器,用于获得属性的值和设定属性的值。其余的地方没有发现不同之处,属性里也可以判定数据的合法性,和方法没有什么两样。
program in c#
买本书看吧
在写类的时候尽量用属性而不是字段public string s = "";//这个就是字段private string s1 = "";
public string S1//这个是属性
{
get { return s1; }
set { s1 = value; }
}找个基础的书看下吧
{
......
}------------
int i;//字段(未赋值)
public int Myint
{
get{return i;}//只读属性,i只能内部初始化,不能从外部获取。也就是你要某字段i是固定的,无法在外部改变时,就用这个只读属性。
}
public int Myint
{
get{return i;}
set{i=value;} //可读/写属性,写自定义控件时常用,其他的时候不太常用。
}
----------------------------------
同意楼上,没有函数,你说的方法也就是事件
----------------------------------
CSDN资源区有教程下的,去下个看看吧!
-------------------------------------
写上几千字估计也不一定行!
-----------------------------------回复内容太短!
属性嘛,因为字段是用private,用户对这些字段的查看、修改等等都需要通过属性来进行。
字段就是作用于整个类的变量。
类的字段准确地说应该是类的数据成员,其定义是:用于存储类和类的实例相关数据的变量。
方法就是类的函数成员,是一个为实现类的某一个特定功能的函数。因此也称为类的方法。
属性是一个代表类的实例或类中的一个数据项的函数成员。从定义可以看出,属性是类的一个函数成员或者说是方法。对类的属性的设定和获取可以用两个访问器set和get来实现。
字段,方法和属性的定义的区别如下示例:
class MyClass
{
//数据成员或者字段的定义
public int iTemp = 10;
private int iTestValue;
//属性的定义
public int MyValue
{
set //设定属性
{
iTestValue= value;
}
get //从属性获取值
{
return iTestValue;
}
}
//方法的定义
public void SetValue(ref int iValue)
{
TheRealValue = iValue;
}
public int GetValue()
{
return TheRealValue;
}
}
从概念上可以区分字段和属性的区别,字段是一个用于存储数据的变量,属性是一个方法或者说是一个函数成员。
那么既然属性是一个方法,那么他和方法的区别是什么呢?
从定义就可以看出来,属性其实本身就是方法。但既然把属性和方法定义成为两个概念,那么他们之间肯定有不同地地方。个人感觉,他们最大的区别首先是属性没有参数列表,而方法必须要有参数列表,哪怕没有参数,也要放一个空括号在那。其次,属性定义里要有set和get两个访问器,用于获得属性的值和设定属性的值。其余的地方没有发现不同之处,属性里也可以判定数据的合法性,和方法没有什么两样。