构造函数

概括:构造函数是类中的一种特殊的方法,主要完成对象的初始化工作,在创建对象的时候完成指定的工作。而且构造函数方法名和类名相同,没有返回值类型。
无参构造函数
在默认的情况下,系统会给类分配一个无参构造函数,并且没有方法体。但我们也可以自定义一个无参构造函数,在创建对象的时候自动给属性一个默认值。
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#实现根据实体类自动创建数据库表
# 我是
# 类中
# 括号内
# 很高
# 认识你
# 小明
# 快捷方式
# 返回值
# 你好
# 几个
# 自定义
# 会给
# 写在
# 一件事情
# 需要注意
# 小技巧
# 一种特殊
# 默认值
# 时需
# 体内
相关文章:
在线教育网站制作平台,山西立德教育官网?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
如何撰写建站申请书?关键要点有哪些?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
北京企业网站设计制作公司,北京铁路集团官方网站?
建站主机无法访问?如何排查域名与服务器问题
制作电商网页,电商供应链怎么做?
*服务器网站为何频现安全漏洞?
临沂网站制作公司有哪些,临沂第四中学官网?
黑客如何利用漏洞与弱口令入侵网站服务器?
建站主机选哪家性价比最高?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
宝塔新建站点为何无法访问?如何排查?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何在IIS7中新建站点?详细步骤解析
重庆市网站制作公司,重庆招聘网站哪个好?
官网网站制作腾讯审核要多久,联想路由器newifi官网
建站主机默认首页配置指南:核心功能与访问路径优化
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
如何在建站主机中优化服务器配置?
完全自定义免费建站平台:主题模板在线生成一站式服务
视频网站app制作软件,有什么好的视频聊天网站或者软件?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
详解jQuery停止动画——stop()方法的使用
定制建站流程解析:需求评估与SEO优化功能开发指南
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何选择高效稳定的ISP建站解决方案?
建站与域名管理如何高效结合?
建站之星展会模版如何一键下载生成?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
建站之星后台密码如何安全设置与找回?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
营销式网站制作方案,销售哪个网站招聘效果最好?
如何通过wdcp面板快速创建网站?
建站之星Pro快速搭建教程:模板选择与功能配置指南
ppt制作免费网站有哪些,ppt模板免费下载网站?
建站主机选购指南与交易推荐:核心配置解析
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何用y主机助手快速搭建网站?
C#怎么使用委托和事件 C# delegate与event编程方法
C++中引用和指针有什么区别?(代码说明)
c++ stringstream用法详解_c++字符串与数字转换利器
高端网站建设与定制开发一站式解决方案 中企动力
公司网站制作需要多少钱,找人做公司网站需要多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。