前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#-构造函数

C#-构造函数

作者头像
祝你万事顺利
发布2019-08-23 15:45:01
7300
发布2019-08-23 15:45:01
举报
文章被收录于专栏:Unity游戏开发Unity游戏开发

创建一个类的时候,使用new运算符对类进行实例化。在为新对象分配内存之后,new运算符立即调用构造函数。

不带参数的构造函数称为“无参构造函数”。除非类是静态的,否则C#编译器将自动为无构造函数的类提供一个公共的无参构造函数。

可以通过将构造函数设置为私有构造函数,阻止类被实例化。

结构(struct)类型的构造函数和类的构造函数类似,但是structs不包含显示无参构造函数,编译器会自动提供一个显示无参构造函数。只有使用new实例化struct时,才会调用无参数构造函数。

int i = new int();
Console.WriteLine (i);

构造函数可以使base关键字调用基类的构造函数。

public class Manager:Employee{
  public Manager(int annualSalary):base(annualSalary){}
}

在执行构造函数块之前会调用基类的构造函数。base关键字可带参数使用,也可不带。构造函数的任何参数都可以作base的参数,或用作表达式的一部分。

在派生类中如果不适用base关键字来显示调用基类构造函数,则将调用隐式无参数构造函数(在有的情况下 )。 如果基类没有提供无参构造函数,派生类必须使用base显示调用基类构造函数。

构造函数可以使用this调用同一对象中的另一个构造函数。和base一样,this可带参数使用也可以不带参数使用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.08.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档