构造函数
概括:构造函数是类中的一种特殊的方法,主要完成对象的初始化工作,在创建对象的时候完成指定的工作。而且构造函数方法名和类名相同,没有返回值类型。
无参构造函数
在默认的情况下,系统会给类分配一个无参构造函数,并且没有方法体。但我们也可以自定义一个无参构造函数,在创建对象的时候自动给属性一个默认值。
class Demo { public string DemoName { get; set; } public Demo() //创建无参构造函数 { this.DemoName = "无参构造函数"; //方法体内写在创建对象时需要初始化的属性 } }
小技巧:在Visual Studio中创建无参构造函数的快捷方式是‘ctor' + 两个tab键;创建属性的快捷方式是‘prop' + 两个tab键。
带参构造函数
有时我们需要在创建对象的时候给对象的属性指定一些值,而这些值是一定的,所以我们需要带参构造函数。
class Demo { public string DemoName { get; set; } public Demo(string DemoName) //创建带参构造函数 { this.DemoName = DemoName; } } class Test { Demo demo = new Demo("带参构造函数"); //创建对象时在小括号内指定值 }
另外需要注意几个事项:
1.创建对象时小括号内给出的参数必须和带参构造函数的参数列表相同。
2.类中有了带参构造函数后,创建对象便必须在小括号内给出相应的值。因为在C#中一旦类有了构造函数,就不再自动分配构造函数。(推荐创建了带参构造函数后再创建一个无参构造函数。)
追加:
还有另一种快捷的初始化属性的方法,即对象初始化器。
用法:Demo demo = new Demo(){ Name = "对象初始化器"};
或:Demo demo = new Demo{ Name = "对象初始化器"};
方法重载
概括:同一件事情,根据不同的参数来执行不同的操作,即方法重载。
特点:每个方法名相同、参数列表不同、在同一个类中。
注:参数列表不同指每个方法的参数类型不同或参数顺序不同或参数个数不同。
仅返回值不同是不构成方法重载的。
例:
class Demo { public string DemoName { get; set; } /*********构造函数重载********/ public Demo() { this.DemoName = "无参构造函数"; } public Demo(string demoName) { this.DemoName = demoName; } /**********方法重载**********/ public void SayHello(string name) { Console.WriteLine("你好,我是{0},很高兴认识你。", name); } public void SayHello(string name, int age) { Console.WriteLine("你好,我是{0},今年{1}岁,很高兴认识你。", name, age); } } class Test { /*********构造函数重载********/ Demo demo = new Demo(); Demo demo1 = new Demo("带参构造函数"); /**********方法重载**********/ public void Test() { demo.SayHello("小明"); demo.SayHello("小明", 18); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。