2011-09-28 113 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

没有区别!这只是一种风格选择。