189 8069 5689

C#构造函数概述

在写程序的时候,往往会出现为一个类型提供不同场景的构造函数,可能大多构造函数比较相似,而C#中又不允许缺省参数,因此C#构造函数的编写无疑是一个重复工作。但是使用Copy和Paste来完成构造函数的编写,有时候很难达到统一,尤其是当成员发生变化的时候。因此比较常见的替换方法就是为构造函数提供一个统一的成员函数来完成初始化工作。

创新互联公司服务项目包括金川网站建设、金川网站制作、金川网页制作以及金川网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,金川网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到金川省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

 
 
 
  1. public class MyClass
  2. {
  3. private int _Age;
  4. private string _Name;
  5. public MyClass( string Name)
  6. {
  7. InitMember( Name, 20 );
  8. }
  9. public MyClass( string Name, int Age )
  10. {
  11. InitMember( Name, Age );
  12. }
  13. /// 
  14. /// Init class members
  15. /// 
  16. ///  name="Name">
  17. ///  name="Age">
  18. private void InitMember( string Name, int Age )
  19. {
  20. _Age = Age;
  21. _Name = Name;
  22. }

不过,在C#中提供了更为简明的方法,就是在构造函数初始化语句中调用另一C#构造函数,那么上面的形式可以改写为如下这样。

 
 
 
  1. public class MyClass
  2. {
  3. private int _Age;
  4. private string _Name;
  5. public MyClass( string Name):this( Name, 20 )
  6. {}
  7. public MyClass( string Name, int Age )
  8. {
  9. _Age = Age;
  10. _Name = Name;
  11. }
  12. }

对于这两者来说,执行效率没有太大差别,但从代码质量而言,后者要好很多,而且会使代码看起来更清晰。

其次,对于基类的调用。由于成员函数不能调用基类的构造函数,所以对于第一种编写就比较困难,后者就简单多了。

 
 
 
  1. public class MyClass:BaseClass
  2. {
  3. private int _Age;
  4. private string _Name;
  5. public MyClass( string Name):this( Name, 20 )
  6. {}
  7. public MyClass( string Name, int Age ):base( Name, Age )
  8. {
  9. _Age = Age;
  10. _Name = Name;
  11. }
  12. }

这里要提的一点就是构造函数初始化语句,对于“this”或者“base”之类的调用只能有一个,不能并存。

最后,就是对于readonly常量的初始化,由于readonly常量只能通过成员初始化语句或者在构造函数中被修改,因此在成员函数中无法修改readonly常量,这也是C#构造函数初始化语句要比成员函数好的重要一个因素。


当前标题:C#构造函数概述
新闻来源:http://cdxtjz.cn/article/djjcidh.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。