源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#使用this关键字实现串联构造函数调用方法

  • 时间:2020-06-08 12:26 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#使用this关键字实现串联构造函数调用方法
本文实例讲述了C#使用this关键字实现串联构造函数调用方法。分享给大家供大家参考。具体分析如下: 在一个类中如果需要实现多个自定义构造函数,通常做法是在构造函数中实现各自的业务逻辑,如果这些业务逻辑的实现并非截然不同的话,显然不符合oop编程思想,极不利于维护,当然,我们也可以通过将相同的逻辑部分封装成一个方法,但还有一种更为合理简单的方法,下面就通过this关键字来实现串联构造函数做一简单示例。 示例代码如下:
[u]复制代码[/u] 代码如下:
public class Person {                public string personName;         //定义年龄为可空类型,这样就可以赋予其null值         public int? personAge;         //下面前三个构造函数都是去调用参数最多的第四个构造函数,只取它们所需要的部分参数即可         //这样的做法就是this串联构造函数         public Person():this("",0)         {                     }         public Person(string name):this("evan",null)         {                     }         public Person(int age):this("",20)         {                     }         public Person(string name, int? age)         {             this.personName = name;             //通过 ?? 判断传入的age是否null值             //如果属于null值,则赋值100             this.personAge = age ?? 100;         }         public void Display()         {             Console.WriteLine("Name:{0},Age:{1}\n", personName, personAge);         }        }
主函数调用如下:
[u]复制代码[/u] 代码如下:
static void Main(string[] args) {         Person per1 = new Person();         per1.Display();                    Person per2 = new Person(20);         per2.Display();                    Person per3 = new Person("evan");         per3.Display();                    Person per4 = new Person("evan", 20);         per4.Display();         Console.ReadLine();            }
这样的做法就是让一个接受参数最多的构造函数做"主构造函数", 且在主构造函数中实现必须的业务逻辑,其余的构造函数只要使用this关键字把传入的参数转发给主构造函数,并且提供必须的其它参数,这样子,我们整个类中需要我们操心的就是那个主构造函数了,其余构造函数基本上可以为空。 注意:如果构造函数链中还有实现各自的逻辑,那么实际上是先执行主构造函数的代码,再执行各自逻辑,使用这种做法,真正的工作都交给了一个构造函数,类定义就会更简洁、更易维护、简化了编程任务。 希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部