构造函数链

来源:互联网 发布:ai软件下载中文版 编辑:程序博客网 时间:2024/05/17 21:41

构造函数链:

写构造函数是一个反复的工作。很多开发人员都是先写一个构造函数,然后复制粘贴到其它的构造函数里,以此来满足类的一些重载接口。希望你不是这样做的,如果是的,就此停止吧。有经验的C++程序可能会用一个辅助的私有方法,把常用的算法放在里面来构造对象。也请停止吧。当你发现多重构造函数包含相同的逻辑时,取而代之的是把这些逻辑放在一个常用的构造函数里。你可以得避免代码的重复的好处,并且构造函数初始化比对象的其它代码执行起来更高效。C#编译器把构造函数的初始化识别为特殊的语法,并且移除预置方法中重复的变量和重复的基类构造函数。结果就是这样的,你的对象最终执行最少的代码来合理的初始化对象。你同样可以写最少的代码来把负责委托给一个常用的构造函数。构造函数的预置方法充许一个构造函数调用另一个构造函数。这是一个简单的例子:

public class MyClass{     // collection of data private ArrayList _coll;     // Name of the instance: private string _name; public MyClass() :  this( 0, "" ) { } public MyClass( int initialCount ) :  this( initialCount, "" ) { } public MyClass( int initialCount, string name ) {      // 基构造函数    _coll = ( initialCount > 0 ) ?   new ArrayList( initialCount ) :   new ArrayList();      _name = name; }}


 

 

原创粉丝点击