2010-04-27 19 views
17

我試圖找到這個術語的含義,但特別是由於語言障礙,我無法理解它們的用途。 我假設「field」在類中是變量(對象也是?),而「property」只是一個返回特定值並且不能包含方法等的對象。通過「member」我瞭解在類級別上聲明的任何對象。但這些只是基於評論代碼示例的一些細心的程序員使用「屬性區域」等假設。 我真的很感激,如果有人能解釋給我。編程術語 - 字段,成員,屬性(C#)

回答

38

在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. SQL的討論經常使用互換。 字段也是Java和C#類數據成員的標準術語。
  2. 會員在C++最常用於指成員函數成員變量,等等,對於結構/類定義的各種不同的部件。
+0

是的,抱歉 - c#。 – Petr 2010-04-27 09:55:15

0

這些術語涵蓋了不同的語言,因此它們重疊了很多,其差異更多的是關於具體語言而不是概念。屬性和字段用於描述類中的數據,成員可以是類中的數據和行爲(例如方法)。但是,C#和Java中的屬性和字段之間存在差異,但這是語法糖。如果您使用基於原型的面嚮對象語言(而不是基於類),您可以討論對象的插槽......如果要掌握整個含義,請先選擇一種語言。