c#入门-构造器

字段初始值

在定义字段时,可以同时为字段赋值初始值。
但是初始值不能使用其他成员作为表达式,与顺序无关。
在这里插入图片描述

构造器

构造器是一个特殊的方法。他没有返回值,不能通过实例调用。必须通过new来调用。

声明构造器

声明构造器的语法为:定义一个没有返回值的方法,方法名和类名一致。
即便构造器大多数都是给别人使用的。但他的默认访问权限仍然是private的。不要忘记添加访问权限。

class 小兵
{
	public int hp = 10;
	public int atk;
	public int def;

	public 小兵(int hp, int atk, int def)
	{
		this.hp = hp;
		this.atk = atk;
		this.def = def;
	}
}

如果一个类没有构造器,那么编译器会默认为其添加一个隐式的公开无参构造器。
在你声明了构造器后,那个默认的构造器就不存在了。
和方法一样,构造器可以重载。
在这里插入图片描述

使用构造器

构造器不能像常规方法一样调用,必须配合new关键字使用。

小兵 a = new 小兵(10,2,5);

为什么使用构造器

先于其他方法执行且必定执行

比如说其他方法在调用时需要依赖某些发生过的事。
比如输出一个人的姓氏

class{
	public string name;
	public int age;
	public char 获得姓氏()
	{
		return name[0];
	}
}

对于公开的字段,如果让用户自己赋值,那他可能会忘记。
使用构造器可以强制他们给字段初始值。

构造器只执行一次

构造器只执行一次,那么可以较为安全地为私有字段赋初始值
有些字段在开始需要从别人手里获得初始值,但在使用之后不希望用户知道了。

构造器处于初始化阶段,可以为只读字段赋初始值。

只读字段在构建完毕后不能重新赋值,但是构造器执行时还没有构建完毕。

自动判断构造器名

在明确将要创建的类型时,new表达式可以不写构造器名字。
例如在声明变量,填入函数实参,作为函数返回值时。
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值