ホームページ >バックエンド開発 >C++ >オーバーライドvs. new in c#:各キーワードを使用して、継承されたメソッドを変更する必要がありますか?

オーバーライドvs. new in c#:各キーワードを使用して、継承されたメソッドを変更する必要がありますか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-28 12:11:11996ブラウズ

Override vs. New in C#: When Should You Use Each Keyword to Modify Inherited Methods?

C#のオーバーライドと新しいキーワードを理解する:継承方法を変更するためにそれらを使用するタイミングはいつですか?

オブジェクト指向プログラミングでは、継承クラスの基礎方法が非常に重要です。 「オーバーライド」と「新しい」キーワードは、このコンテキストではさまざまな用途があります。 1。キーワードをオーバーライド「オーバーライド」修飾子を使用して、ベースクラスの仮想メソッドまたは抽象的なメソッドを明示的に書き換えます。書き換え方法の場合、元の方法の署名を保持しながら、新しい実装を提供します。この方法を呼び出すときはいつでも、基本クラスを参照しても、書き換え方法が実行されます。

「新しい」モディファイは、別の実装方法を表しますが、実際には新しい方法です。 「新しい」メソッドは基礎メソッドをシールドします。つまり、基本クラスのコーディングは元の実装を実行し、継承クラスを引用するコードは「新しい」メソッドを実行します。 例:

次のコードフラグメントを検討してください:

この例では、「派生」クラスが「doit」メソッドを書き直しました。 「base.doit」への参照は、「派生」クラスで「doit」メソッドを実行します。

この場合、「派生」クラスの「doit」は新しい方法と見なされます。 「base.doit」への参照は、「ベース」クラスの元の実装を実行し、「derived.doit」への参照は「派生」クラスで新しい実装を実行します。

推奨使用法:

メソッドを書き換える場合、メソッドの署名を保持し、多型を許可するため、「オーバーライド」を使用することをお勧めします。一方、「New」は、継承関係を破壊する可能性のあるベースメソッドとは異なる方法を作成するために使用されます。

以上がオーバーライドvs. new in c#:各キーワードを使用して、継承されたメソッドを変更する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。