2011-09-28 115 views
1

如果我有這個類:差異如何聲明實例變量

class G 
{ 
    Texture a, b, c; 
} 

class F 
{ 
    Texture a; 
    Texture b; 
    Texture c; 
} 

是那裏被分配什麼樣的訪問修飾符的差異或兩者是等價的,因此如何寫出來的只有一種風格偏好?

+1

應該只是一種風格偏好。 – Relok

回答

7

沒有功能差異; a,bc都將被聲明爲private Texture字段。 (private是一個類的成員的默認訪問修飾符。)

無論你選擇使用一個訪問修飾符還是針對每個或所有三個類型的聲明,都是純粹的文體風格。

1

結果是一樣的。它是相同的。

2

在C#中沒有區別 - 只是文體學(我更喜歡第二個)。

在語言如C和C++,它使與指針的不同:

int* p1, p2, p3; // p1 is a pointer to int, but p2 and p3 aren't 

在C#中,我們沒有這樣的問題:

int* p1, p2, p3; // Ok, all three are pointers 
int *p1, *p2, *p3; // Invalid in C# 

此外,在C++有時T a, b;不等於T a;T b;即使當T不是指針 - 當與T相符時就是這種情況;

T T, X; //T and X are of type T 

T T; 
T X; //error T is not a type 

對不起,我貼比約C#更多關於C++,但這是證明C#已照顧的兩種形式之間的電位差,其C++還沒有:)

0

這是純粹的風格如果你想知道更多關於訪問修飾符,你可以得到它here

1

沒有區別!這只是一種風格選擇。