C#-构造函数

创建一个类的时候,使用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可带参数使用也可以不带参数使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值