[英]What is the meaning of “: base” in the constructor definition?
以下類(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;
}
}
基類是WorkerThread。 創建MyClass時, 必須使用其任何構造函數來創建WorkerThread。
通過編寫base(data)
您可以指示程序使用一個WorkerThread的構造函數,該構造函數將data
作為參數。 如果您不這樣做,程序將嘗試使用默認構造函數-可以不使用任何參數調用該構造函數。
它調用其繼承的類的構造函數,並提供相應的參數。
有點像打電話
new WorkerThread(data)
這意味着您將有效地將傳遞給MyClass構造函數的數據參數傳遞給基類(WorkerThread)的構造函數
public WorkerThread(object data)
{
this.ThreadData = data;
}
VB可能更清晰的罕見情況...
Public Class MyClass
Inherits WorkerThread
Public Sub New(data)
MyBase.New(data)
End Sub
End Class
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.