时间:2021-05-20
本文以实例形式分析私有构造函数的特点,以及在何种情况下使用私有构造函数。相信对于大家更好的理解C#中的私有构造函数有一定的促进作用。具体如下:
一、带私有构造函数的类不能被继承
在Animal类中声明一个私有构造函数,让Dog类来继承Animal类。
public class Animal { private Animal() { Console.WriteLine("i am animal"); } } public class Dog : Animal { }运行程序,生成解决方案,报错如下图所示:
二、带私有构造函数的类不能被实例化
运行如下测试代码:
class Program { static void Main(string[] args) { Animal animal = new Animal(); } } public class Animal { private Animal() { Console.WriteLine("i am animal"); } }程序运行后生成解决方案,报错如下图所示:
三、私有构造函数的应用
有些时候,我们不希望一个类被过多地被实例化,比如有关全局的类、路由类等。这时候,我们可以为类设置构造函数并提供静态方法。
class Program { static void Main(string[] args) { string str = Animal.GetMsg(); Console.WriteLine(str); Console.ReadKey(); } } public class Animal { private Animal() { Console.WriteLine("i am animal"); } public static string GetMsg() { return "Hello World"; } }总结:一旦一个类被设置成私有构造函数,就不能被继承,不能被实例化,这种情况下,通常为类提供静态方法以供调用。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C++中构造函数的实例详解c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++
私有构造函数私有构造函数是一种特殊的实例构造函数。它通常用在只包含静态成员的类中。如果类具有一个或多个私有构造函数而没有公共构造函数,则其他类(除嵌套类外)无法
关于为什么需要创建单例?这里不过多介绍,具体百度知。关于C#创建单例步骤或条件吧1、声明静态变量;2、私有构造函数(无法实例化)3、静态创建实例的方法;至于我这
本文实例讲述了C#使用this关键字实现串联构造函数调用方法。分享给大家供大家参考。具体分析如下:在一个类中如果需要实现多个自定义构造函数,通常做法是在构造函数
本文实例讲述了C++中的聚合类。分享给大家供大家参考,具体如下:聚合类是一种没有用户定义的构造函数,没有私有(private)和保护(protected)非静态