C# 灵活使用类的方法
构造函数
概括:构造函数是类中的一种特殊的方法,主要完成对象的初始化工作,在创建对象的时候完成指定的工作。而且构造函数方法名和类名相同,没有返回值类型。
无参构造函数
在默认的情况下,系统会给类分配一个无参构造函数,并且没有方法体。但我们也可以自定义一个无参构造函数,在创建对象的时候自动给属性一个默认值。
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); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
您可能感兴趣的文章
- 01-10C#实现实体类与字符串互相转换的方法
- 01-10C#通过Semaphore类控制线程队列的方法
- 01-10C#使用Dispose模式实现手动对资源的释放
- 01-10C#3.0使用EventLog类写Windows事件日志的方法
- 01-10C#操作ftp类完整实例
- 01-10C#使用windows服务开启应用程序的方法
- 01-10c# ArrayList的使用方法小总结
- 01-10winform简单缓存类实例
- 01-10C#实现控制摄像头的类
- 01-10C#使用ADO.Net部件来访问Access数据库的方法
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10delphi制作wav文件的方法
- 04-02jquery与jsp,用jquery
- 01-10C#中split用法实例总结
- 01-11ajax实现页面的局部加载
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10SublimeText编译C开发环境设置
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05DEDE织梦data目录下的sessions文件夹有什