C#で非表示と書き換え:depth分析 隠し:基礎を保護する方法
hiddenは、基本クラスから相続したメンバーと同じ名前のメンバーです。書き換えとは異なり、派生したクラスは父親とソンの関係を確立しません。代わりに、Hidden Foundationメンバーの新しいエンティティを作成します。
以下は例です: このシーンでは、犬で宣言されたSayhello()メソッドは、動物から継承された方法を隠します。犬のオブジェクトがsayhello()を呼び出すと、隠された方法が実行され、基本クラスの実装がブロックされます。
書き換え:基本クラスの方法の変更
この例では、犬のsayhello()メソッドは、動物で定義された方法を書き直します。犬のオブジェクトを呼び出すとき、書き換えの方法が提供され、犬に固有のカスタム行動を提供します。
<code class="language-csharp">class Animal { public virtual string SayHello() { return "Hello from Animal"; } } class Dog : Animal { public new string SayHello() { return "Hello from Dog"; } }</code>隠しと書き換えの重要な違い
アクセス許可:ベースクラスメソッドを予約するベースメソッドメソッドへのアクセス、および派生クラスがそれを変更できるようにする隠された方法。
相続関係:
父親の関係の確立を書き直し、基本クラスの隠れメンバー。<code class="language-csharp">class Animal { public virtual string SayHello() { return "Hello from Animal"; } } class Dog : Animal { public override string SayHello() { return "Hello from Dog"; } }</code>
隠されたメンバー:
継承を隠すことができるメンバーは、基本コードを使用するときに問題を引き起こす可能性があります。アクティビティドメイン:書き換え方法は、継承階層構造に拘束され、隠された方法は派生クラスの範囲に限定されます。
以上がC#でシャドウイングとオーバーライド:違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。