何时、何地以及为何在 C# 中使用私有构造函数
简介
在本文中,将通过适当的示例来解释 C# 中私有构造函数的规则是什么,以及何时、何地以及为何使用私有构造函数。
Private Constructor的规则和使用:
1)当你不想为类创建对象时使用私有构造函数。这些通常用于仅包含静态成员的类中。如果一个类有一个或多个私有构造函数而没有公共构造函数,则不允许其他类(嵌套类除外)创建该类的实例。
2) 我们不能从只有私有构造函数的类继承。原因是假设如果您从一个只有私有构造函数的基类继承,并且如果您为派生类创建一个对象,那么将调用基类构造函数。因为基类只包含私有构造函数,并且由于“私有”访问修饰符,它不能从派生类访问。因此,它会给您一个语法错误,如下所示控制台应用程序“由于其保护级别而无法访问”
3) 你在哪里发现私有构造函数有用?
私有构造函数也可用于: 仅包含静态实用方法的类 仅包含常量类型安全枚举的类。
如果我们想创建类的对象,即使我们有私有构造函数,那么我们需要有公共构造函数和私有构造函数。
让我们通过一个例子来理解:
class Program
{
public class MysampleClass
{
public string param1, param2;
public MysampleClass(string a, string b) //Public Parameterized Constructor.
{
param1 = a;
param2 = b;
}
private MysampleClass() // Private Constructor Declaration without parameter.
{
Console.WriteLine("Private Constructor Declaration with no parameter");
}
}
class MyProgram
{
static void Main(string[] args)
{
MysampleClass objMysampleClass = new MysampleClass("Vikas","Verma");
Console.WriteLine(objMysampleClass.param1 +" " + objMysampleClass.param2);
// //It will be inaccessible due to it protection level (without parameter)
MysampleClass obj = new MysampleClass();
Console.ReadLine();
}
} }