从品牌网站建设到网络营销策划,从策略到执行的一站式服务
C#中构造函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
我们提供的服务有:网站设计制作、成都网站设计、微信公众号开发、网站优化、网站认证、天等ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的天等网站制作公司
C#构造函数在使用方面及行为方面的一些特殊规则:
1、如果开发人员没有为一个类提供构造函数,那么,C#将提供一个默认的构造函数。
2、必须使用操作符 new 来调用一个构造函数。
3、构造函数的名称必须与类的名称相同。
4、一个构造函数的返回类型是这个类的一个实例,而一个普通方法的返回类型可以是任何类型。
5、构造函数不能覆盖一个超类的构造函数,因此,new、virtual、override、abstact以及sealed关键字不能在构造函数声明语句中使用。
6、利用 :this() 和 :base(),构造函数可以调用其他构造函数。
在声明一个构造函数的时候,如果没有使用 :this() 或 :base()来显式地调用其他构造函数,那么C#就插入一个无参数的 :base()。这可能产生令人惊奇的结果,看一下代码:
using System; public class Father { //private string name; //public Father(string name) //{ //this.name = name; //} } public class Child :Father { }
这段代码是可以编译的,但是,如果把注释标记“//”去除,那么这段代码就无法通过编译。原因就在于,在子类 Child 中的默认构造函数是不带参数的,另外,在默认情况下,一个类的构造函数可以调用其超类中不带参数的构造函数。然而,这个 Father 类的构造函数需要接收一个 String 类型的参数,这意味着编译器无法提供一个默认的构造函数。在没有提供参数的情况下,Child 类的默认构造函数就无调用超类的构造函数。解决办法参照规则 6 即可解决,修改 Child 类:
public class Child :Father { public Child(string name) : base(name) { } }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图