gpt4 book ai didi

C# - 静态类、私有(private)构造函数、抽象类 - 都阻止实例创建 - 使用哪一个?

转载 作者:行者123 更新时间:2023-11-30 13:42:58 25 4
gpt4 key购买 nike

我对静态类、私有(private)构造函数和抽象类的用法有点困惑

防止创建实例。(对替代方案感到困惑)。

最适合每个场景的场景是什么?

最佳答案

这取决于您的需求。

  • 静态类可能被认为是“一堆方法” - 如果您只需要对一些方法进行分组,您会使用它,示例用法:MathHelpers,使用 Sin、Cos、ConvertXToY 等方法(或主机扩展方法)。

  • 私有(private)构造函数 - 当您希望能够控制对象的创建方式时,您会使用这个构造函数,例如,如果您想要确保这些对象只能由您的静态方法创建.一个例子:


class Robot
{
public string Name { get; }
private Robot()
{
// some code
}

public static Robot CreateAndInitRobot(string name)
{
Robot r = new Robot();
r.Name = name;
return r;
}
}
  • 抽象类 - 当您定义一些抽象对象时,您应该使用的那些,不应该被初始化,因为它是不完整的/抽象的,并且您想进一步专门化它(通过继承它)。

关于C# - 静态类、私有(private)构造函数、抽象类 - 都阻止实例创建 - 使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1383336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com