全⾯解析C#构造函数超详细包括继承类时使⽤base⽅法
我们在写⼀个类的时候,会遇到构造函数这个问题。
也许听起来很简单,但是不会⽤却是很头痛的⼀件事。
本⽂全程配图
⾸先我们定义⼀个类
//刚创的QMsg类是这样的
public class QMsg
{
}
//但是实际上他是这样的
public class QMsg
{
public QMsg(){} // 这就是默认构造函数
}
QMsg这个类,那么QMsg⾥⾯会有⼀个你看不见的默认构造函数。
接下来,我们⽤⼀个新的类去继承QMsg类
继承⼤家都知道把,这⾥就不解释了
然后创建⼀个lobbyListMod的构造的函数(注意,现在lobbyListMod也有⼀个你看不见的函数)
其实内部就是这样(没显⽰⽽已),好,那么我们开始做操作了。
创建⼀个Test测试类,去实例化⼀个lobbyListMod类出来
如果你在内部⾃⼰写了⼀个构造函数,⽆参的就没影响(因为你不写系统会帮你写),如果是有参的,就如下图
错误提⽰:没有提供必须的参数“a”
因为你写了⼀个有参的构造函数,那么原来的那个⽆参的构造函数,系统就不会再帮你了,所以你就
要⾃⼰写⼀个
到这⾥,这个就告⼀段落了,下⾯是继承QMsg的,先看两图
这两图的效果是⼀样的,现在我们在QMsg⾥⾯添加两个构造函数
public class QMsg
{
//默认⽆参构造函数
public QMsg()
writeline函数{
Console.WriteLine("会先调⽤这⾥:这是⽗类构造函数,之后再调⽤⼦类的构造函数");
}
//有参构造函数
public QMsg(int num)
{
Console.WriteLine("值:"=num);
}
}
现在我们重新调⽤,这次调⽤有参的
这样调⽤的就是⽗类中带参数的构造⽅法了,⽽不再是⽆参的构造⽅法了。
先输出,⽗类的结果,再输出⼦类的结果(如果你还是不懂,去看⼀眼继承,再回来看,就能看懂了)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论