静态类的优点和缺点

时间:2014-02-20 08:30:18

标签: c# static-methods static-classes

我是一名C ++程序员,他转而使用C#。据说我不使用静态类。 我理解在C#中,如果类只有静态成员,那么它应该是静态的。(我的类只有静态成员) 你能解释一下使用静态类会出现什么问题吗? 我们真的应该使用它们吗?

由于

3 个答案:

答案 0 :(得分:2)

静态类与非静态类没有区别,除了你无法实例化静态类(因为它们当然是静态的),而这个静态类将无法利用很酷的OOP功能。作为继承(它不能在C#中被子类化)。

当静态类包含静态成员时,您必须注意的主要事情是使类静态成员在多个线程使用时是线程安全的。

  

你能解释一下使用静态类会出现什么问题吗?我们真的应该使用它们吗?

如果您的类只暴露静态成员,那么您可以将其设为静态类,但前提是您确定不需要此类的实例。事实上,使用静态类绝对没有问题,只需要使用线程安全(如果需要)并确保它符合您系统的设计。

答案 1 :(得分:1)

主要原因是有时(但并非总是),最好使用单例类,因为单例类可以实现接口。

答案 2 :(得分:0)

静态类与非静态类基本相同,但有一个区别:静态类无法实例化。

http://msdn.microsoft.com/en-us/library/79b3xss3.aspx

也请查看此链接:

When to use static classes in C#