ホームページ > バックエンド開発 > C++ > C# メソッド署名の「new」キーワードは実際には何をするのでしょうか?

C# メソッド署名の「new」キーワードは実際には何をするのでしょうか?

DDD
リリース: 2025-01-03 11:16:44
オリジナル
660 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート