以下类(MyClass)的构造函数中“:base ”的含义是什么?请解释下面针对类MyClass给出的构造函数定义背后的概念。
public class MyClass: WorkerThread
{
public MyClass(object data): base(data)
{
// some code
}
}
public abstract class WorkerThread
{
private object ThreadData;
private Thread thisThread;
public WorkerThread(object data)
{
this.ThreadData = data;
}
public WorkerThread()
{
ThreadData = null;
}
}
答案 0 :(得分:19)
基类是WorkerThread。创建MyClass时,必须使用其任何构造函数创建WorkerThread 。
通过编写base(data)
,您指示程序使用一个以data
作为参数的WorkerThread构造函数。如果没有这样做,程序将尝试使用默认构造函数 - 可以在没有参数的情况下调用它。
答案 1 :(得分:2)
它调用它继承的类的构造函数,并提供相应的参数。
有点像打电话
new WorkerThread(data)
答案 2 :(得分:0)
这意味着您将传递给MyClass构造函数的数据参数传递给基类(WorkerThread)的构造函数,实际调用
public WorkerThread(object data)
{
this.ThreadData = data;
}
答案 3 :(得分:-1)
一种罕见的情况,VB可能更清晰......
Public Class MyClass
Inherits WorkerThread
Public Sub New(data)
MyBase.New(data)
End Sub
End Class