属性与方法

更新:2007 年 11 月

属性和方法都作为接受参数的过程实现,在这一点上它们很相似。通常,属性存储对象的数据,而方法是可要求对象执行的操作。对象的某些特性明显是属性(如 Name),而有些明显是方法(如 Move 和 Show)。在其他情况中,哪些类成员应是属性哪些应是方法并不明显。例如,集合类的 Item 方法存储和检索数据,并且可以作为索引属性实现。另一方面,将 Item 作为方法实现也是合理的。

属性语法与方法语法

决定如何实现类成员的一个方法是考虑要如何使用它。虽然从参数化属性检索信息的语法与作为函数实现的方法所用的语法几乎相同,但修改这样的值的语法却稍有不同。例如,如果您将类的成员实现为属性,则下面的语法描述将如何使用它:

This 对象.This 属性(索引) = 新值

如果将类成员实现为方法,则所修改的值必须是参数。下面的代码片段描述等效的语法用法:

This 对象.This 属性(索引, 新值)

错误信息

选择如何实现类成员时要考虑的另一个因素是,当错误地使用类时将生成何种消息。如果有人无意中试图为只读属性分配一个值,则将返回一条错误信息,该错误信息不同于响应对方法的类似调用所返回的错误信息。正确实现的类成员返回更容易解释的错误信息。

请参见

任务

如何:向类添加字段和属性

概念

类方法

参考

Item 属性(Collection 对象)