簡體   English   中英

構造函數定義中“:base”的含義是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM