编程术语 – 字段,成员,属性(C#)

我试图找到这个术语的含义,但特别是由于语言障碍,我无法理解它们的用途。 我假设“field”在类中是变量(对象也是?),而“property”只是一个返回特定值并且不能包含方法等的对象。通过“member”我理解在类级别声明的任何对象。 但这些只是我基于注释代码示例的假设,其中一些细心的程序员使用“属性区域”等。如果有人能够向我解释,我真的很感激。

在C#中:

fields :这些是在类级别声明的变量。

public class SomeClass { private int someInteger; // This is a field public double someDouble; // This is another field protected StringBuidler stringBuidler; // Still another field } 

properties :通常用作类的私有字段的访问器,它们可以提供get和set方法,围绕字段操作包装一些逻辑。

 public class SomeClass { private StringBuilder stringBuilder; // Property declaration public StringBuilder StringBuilder { get { if(this.stringBuilder == null) this.stringBuilder = new StringBuidler(); return this.stringBuilder; } set { if(this.stringBuilder == null) this.stringbuilder = value; } } } 

成员 :包括类的字段,属性,方法和事件。

这个领域的术语无可救药地混杂在一起,从语言到语言,模型到模型都有很大差异。 您是否有特定的语言或平台?

第一个近似值:

  1. SQL讨论通常可以互换使用字段Field也是Java和C#类的数据成员的标准术语。
  2. 对于结构/类定义的各种不同成员, 成员在C ++中最常用于引用成员函数成员变量等。

这些术语跨越不同的语言,因此它们重叠很多,差异更多的是具体语言而不是概念。 属性和字段用于描述类中的数据,成员可以是类中的数据和行为(例如方法)。 但是,C#和Java中的属性和字段之间存在差异,但这是语法糖。 如果您使用基于原型的面向对象语言(而不是基于类),您将谈论对象的插槽…如果您想要掌握整个含义,首先选择一种语言。