簡體   English   中英

C#函數覆蓋

[英]C# function overriding

我正在學習C#繼承。 我已經看到程序員在覆蓋函數時使用base.method()語句。 例如:-

protected override void OnClear()
            {
                _currentPos = 0;
                _albumFilename = null;
                this.Dispose();                                 
                base.OnClear();     // Why this Statement is used?
            }

任何人都可以在這里解釋base.OnClear()語句的base.OnClear()嗎? 我會很高興和感謝你! 請分享您的知識:-)

要調用父類的OnClear()方法,已使用此代碼base.OnClear()方法。

由於您要從父類覆蓋該方法,因此,如果要調用父類的方法,則應使用base關鍵字訪問父類成員。

MSDN對文檔base

base關鍵字用於從派生類中訪問基類的成員:

  1. 在已被另一個方法覆蓋的基類上調用一個方法。 ...

這很簡單,因為覆蓋的方法具有您所需的某些功能,它知道如何清除原始類中的數據並可以訪問其私有部分。 您作為繼承者不。 因此,您需要調用原始實現以清除基類中的數據,而代碼的重寫部分將處理您的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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