C#使用this关键字实现串联构造函数调用方法
本文实例讲述了C#使用this关键字实现串联构造函数调用方法。分享给大家供大家参考。具体分析如下:
在一个类中如果需要实现多个自定义构造函数,通常做法是在构造函数中实现各自的业务逻辑,如果这些业务逻辑的实现并非截然不同的话,显然不符合oop编程思想,极不利于维护,当然,我们也可以通过将相同的逻辑部分封装成一个方法,但还有一种更为合理简单的方法,下面就通过this关键字来实现串联构造函数做一简单示例。
示例代码如下:
publicclassPerson { publicstringpersonName; //定义年龄为可空类型,这样就可以赋予其null值 publicint?personAge;
//下面前三个构造函数都是去调用参数最多的第四个构造函数,只取它们所需要的部分参数即可 //这样的做法就是this串联构造函数 publicPerson():this("",0) { }
publicPerson(stringname):this("evan",null) { }
publicPerson(intage):this("",20) { }
publicPerson(stringname,int?age) { this.personName=name; //通过??判断传入的age是否null值 //如果属于null值,则赋值100 this.personAge=age??100; }
publicvoidDisplay() { Console.WriteLine("Name:{0},Age:{1}\n",personName,personAge); } }