静态与非静态类成员

She*_*ock 22 c# oop static class object

我是初学者和编程人员.我有一个简单的问题 - 关于静态/非静态变量的最佳实践是什么.

我有一个变量private int x,它属于y类.要访问此变量,我需要引用y.如果x是静态的,我可以访问此变量而不引用y.

在类y中的几个方法将引用此值的情况下,哪种方法最好?

希望这是有道理的,我的问题不是太基础!

非常感谢

Ode*_*ded 47

您需要将静态变量视为属于,而不是类的实例.

如果在类的所有实例中此变量应该相同,则使用静态变量.

如果不是,请使用实例变量.

通常,公共静态变量是不好的做法 - 它是一个共享的全局资源,如果你更改它,你需要同步访问它.拥有全局状态是您希望尽可能避免的.


Ali*_*tad 7

最佳做法是避免公开静电.在OOP中,类是为了隐藏其成员.Static实际上不是实例的成员,而是类型的成员.

如果要实现单例模式,Static会派上用场.但是,他们需要再次私有化,并通过公共财产进入.

您需要阅读静态类和静态类成员(C#编程指南).