我试图找到这些术语的含义,但特别是由于语言障碍,我无法理解它们的用途。 我假设“field”在类中是变量(对象也是?),而“property”只是一个返回特定值且不能包含方法等的对象。通过“member”我理解在类级别声明的任何对象。但这些只是我基于注释代码示例的假设,其中一些细心的程序员使用“属性区域”等。 如果有人能向我解释,我真的很感激。
答案 0 :(得分:41)
在C#中:
字段:这些是在类级别声明的变量。
public class SomeClass
{
private int someInteger; // This is a field
public double someDouble; // This is another field
protected StringBuidler stringBuidler; // Still another field
}
属性:通常用作类的私有字段的访问器,它们可以提供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 :(得分:1)
这个领域的术语无可救药地混杂在一起,从语言到语言,从模型到模型都有很大差异。您是否有特定的语言或平台?
第一个近似值:
答案 2 :(得分:0)
这些术语跨越不同的语言,因此它们重叠很多,差异更多地是关于具体语言而不是概念。属性和字段用于描述类中的数据,成员可以是类中的数据和行为(例如方法)。但是,C#和Java中的属性和字段之间存在差异,但这是语法糖。如果您使用基于原型的面向对象语言(而不是基于类),您将谈论对象的插槽......如果您想要掌握整个含义,请先选择一种语言。