构造函数

概括:构造函数是类中的一种特殊的方法,主要完成对象的初始化工作,在创建对象的时候完成指定的工作。而且构造函数方法名和类名相同,没有返回值类型。
无参构造函数
在默认的情况下,系统会给类分配一个无参构造函数,并且没有方法体。但我们也可以自定义一个无参构造函数,在创建对象的时候自动给属性一个默认值。
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);
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# C#
# 类
# C# web应用程序不能访问app_code下类的原因以及解决方法
# C# 特殊的string类型详解
# 浅谈C# 类的继承
# C#两个相同属性的类赋值方法
# c#数据类型基础
# C#类中的属性使用总结(详解类的属性)
# C# web api返回类型设置为json的两种方法
# c#各种Timer类的区别与用法介绍
# .NET(C#)连接各类数据库代码-集锦
# C#实现根据实体类自动创建数据库表
# 我是
# 类中
# 括号内
# 很高
# 认识你
# 小明
# 快捷方式
# 返回值
# 你好
# 几个
# 自定义
# 会给
# 写在
# 一件事情
# 需要注意
# 小技巧
# 一种特殊
# 默认值
# 时需
# 体内
相关文章:
佛山企业网站制作公司有哪些,沟通100网上服务官网?
中山网站制作网页,中山新生登记系统登记流程?
网站制作壁纸教程视频,电脑壁纸网站?
建站主机与服务器功能差异如何区分?
,巨量百应是干嘛的?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
定制建站如何定义?其核心优势是什么?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
官网网站制作腾讯审核要多久,联想路由器newifi官网
建站主机选购指南:核心配置优化与品牌推荐方案
建站主机选虚拟主机还是云服务器更好?
如何在云主机上快速搭建网站?
如何用已有域名快速搭建网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何高效完成自助建站业务培训?
c# 在ASP.NET Core中管理和取消后台任务
招贴海报怎么做,什么是海报招贴?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何获取开源自助建站系统免费下载链接?
如何在阿里云服务器自主搭建网站?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
太平洋网站制作公司,网络用语太平洋是什么意思?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
详解jQuery停止动画——stop()方法的使用
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
Thinkphp 中 distinct 的用法解析
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
建站主机选择指南:服务器配置与SEO优化实战技巧
网站app免费制作软件,能免费看各大网站视频的手机app?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站ABC备案流程中有哪些关键注意事项?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
内网网站制作软件,内网的网站如何发布到外网?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
制作国外网站的软件,国外有哪些比较优质的网站推荐?
学校为何禁止电信移动建设网站?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
广东专业制作网站有哪些,广东省能源集团有限公司官网?
微信小程序 五星评分(包括半颗星评分)实例代码
存储型VPS适合搭建中小型网站吗?
专业公司网站制作公司,用什么语言做企业网站比较好?
,有什么在线背英语单词效率比较高的网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
建站之星安装步骤有哪些常见问题?
C#如何在一个XML文件中查找并替换文本内容
*请认真填写需求信息,我们会在24小时内与您取得联系。