首頁 > 後端開發 > C++ > C# 方法簽章中的「new」關鍵字其實有什麼作用?

C# 方法簽章中的「new」關鍵字其實有什麼作用?

DDD
發布: 2025-01-03 11:16:44
原創
702 人瀏覽過

What Does the

理解方法簽名中「new」關鍵字的意義

在C# 程式設計中,方法簽名中的「new」關鍵字的作用特定目的。它與“override”關鍵字不同,並提供了獨特的功能。

「new」在方法簽章中表示什麼?

方法簽章中的「new」關鍵字方法簽章用來指示方法隱藏了同名的繼承方法。這允許在衍生類別中對方法進行不同的實現,而無需修改基類的行為。

考慮以下範例:

public class BaseClass
{
    public virtual void MyMethod()
    {
        // Base class implementation
    }
}

public class DerivedClass : BaseClass
{
    public new void MyMethod()
    {
        // Derived class implementation
    }
}
登入後複製

在此範例中,「new」 DerivedClass 的 MyMethod 方法中的關鍵字指定它是一個新的實現,而不是繼承自的 MyMethod方法的重寫BaseClass.

與「override」的區別

另一方面,「override」關鍵字用於明確重寫基類中聲明的虛擬方法。僅當衍生類別中的方法與基底類別中的虛擬方法具有相同的名稱、參數和傳回類型時才能使用它。

「new」關鍵字提供了更大的靈活性,因為它允許您修改衍生類別中的非虛擬方法和靜態方法。這在您需要更改繼承方法的行為而不影響基底類別實作的情況下非常有用。

例如,如果不使用「new」關鍵字,以下範例將導致編譯錯誤used:

public class BaseClass
{
    public static void MyStaticMethod()
    {
        // Base class static method
    }
}

public class DerivedClass : BaseClass
{
    public new static void MyStaticMethod()
    {
        // Derived class static method
    }
}
登入後複製

總之,方法簽章中的「new」關鍵字用於隱藏具有相同名稱的繼承方法,從而允許在衍生類別中進行不同的實作。相較之下,「override」關鍵字用於明確重寫基底類別中的虛擬方法。

以上是C# 方法簽章中的「new」關鍵字其實有什麼作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板