私有构造函数的特点和用途

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

本篇体验私有构造函数的特点,以及在何种情况下使用私有构造函数。

□ 带私有构造函数的类不能被继承

在Animal类中声明一个私有构造函数,让Dog类来继承Animal类。

publicclassAnimal

{

PRivateAnimal()

{

Console.WriteLine("i am animal");

}

}

publicclassDog : Animal

{

}

生成解决方案,报错如下:

□ 带私有构造函数的类不能被实例化

classProgram

{

staticvoidMain(string[] args)

{

Animal animal =newAnimal();

}

}

publicclassAnimal

{

privateAnimal()

{

Console.WriteLine("i am animal");

}

}

生成解决方案,报错如下:

□ 私有构造函数的应用

有些时候,我们不希望一个类被过多地被实例化,比如有关全局的类、路由类等。这时候,我们可以为类设置构造函数并提供静态方法。

classProgram

{

staticvoidMain(string[] args)

{

stringstr = Animal.GetMsg();

Console.WriteLine(str);

Console.ReadKey();

}

}

publicclassAnimal

{

privateAnimal()

{

Console.WriteLine("i am animal");

}

publicstaticstringGetMsg()

{

return"Hello World";

}

}

总结:一旦一个类被设置成私有构造函数,就不能被继承,不能被实例化,这种情况下,通常为类提供静态方法以供调用。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航