问候,
我是 OO 和编程的初学者,我有以下情况:
我有一组我实现的几个类共享的常量值和枚举。
这些类是独立的,即除了共享这些值之外,它们不相互交互,因此继承它们将不起作用。
我在想; 如果我只用这些常量和枚举创建一个空类,然后在每个类中声明这些类的一个对象,那么我可以使用这些值,例如:
globals.enum.enummember?
这是声音编程还是有更好的方法?
谢谢你的时间。
最佳实践是简单地将枚举与您的类一起声明,而不是嵌套在类中。实际上,嵌套类型通常不是一个好主意,除非它们是私有的。当然,也有例外,但在大多数情况下,没有嵌套会更好。
常量必须在类中定义,但您无需实例化类的对象即可使用它们。他们也可以是公开的,所以你不需要继承任何东西。如果你足够认真地考虑它,你应该能够为包含这些常量的类找出一个好名字。
实践表明,常量和枚举很少是全局的。大多数时候,它们与一个或几个类紧密耦合。然后,您应该将这些常量定义为适当类的一部分,并将枚举放在与使用它们的类相同的命名空间中。
您可以使用带有静态成员的静态类来实现所需的行为:
namespace A {
public static class Enum1 {
public static readonly int EnumMember1 = 1;
public static readonly int EnumMember2 = 2;
public static readonly int EnumMember3 = 3;
}
}
您应该通过以下方式使用它:
int x = A.Enum1.EnumMember2;