私たちが独自の基本クラスに仮想関数を持っている場合、それを派生クラスでオーバーライドして、変数宣言時にキャストを考慮すると、派生クラスでnew修飾子を使用した場合とは異なる結果になります。しかし、なぜ?何らかの論理的な理由があるのですか、何らかの理由なくそれを学ばなければなりませんか?論理的な理由に基づいて、仮想修飾子と新しい修飾子は継承と多型の問題で異なる結果を示しますか?
0
A
答えて
0
私はあなたがC#を指していると仮定します。
基本的に、サブクラスメソッドがスーパークラスメソッドとは関係がない場合は、new
修飾子を使用します。それらは名前を共有しますが、共有された多態性の動作はありません。名前をポリモーフィックに再定義すると、それがオーバーライドと呼ばれます。
0
新しい演算子を使用する代わりに、メソッドの別の名前を選択することをお勧めします。
関連する問題
- 1. 「外部」アクセス修飾子がない理由は何ですか?
- 2. 静的修飾子を理解する上での問題
- 3. const修飾子が破棄された理由を理解していない
- 4. Cの修飾子と修飾子の違いは何ですか?
- 5. C#でアクセシビリティ修飾子を使用してプロパティを継承
- 6. パッケージ修飾子は、パッケージ修飾子でトップレベルのクラスを定義するとき
- 7. 修飾子
- 8. アクセス修飾子
- 9. セッション修飾子
- 10. プロパティ修飾子
- 11. private修飾子
- 12. スカラユニットテストのセットアップ(アクセス修飾子修飾子を使用しますか?)
- 13. ResharperとNamespaceエイリアス修飾子
- 14. 動的アクセス修飾子
- 15. コンストラクタを使用してアクセス修飾子を使用しない場合の結果が異なります
- 16. 関数の静的な新しい修飾子のポイントは何ですか?
- 17. 予期しない "一時的な"コンストラクタの修飾子
- 18. 修飾子のエラー
- 19. タイプと生涯修飾子の違い
- 20. Typescriptクラス:明示的な 'public'修飾子はベストプラクティスですか?
- 21. Gtk keypress修飾子
- 22. OpenGL:レイアウト修飾子?
- 23. 複合継承修飾子(protected/private/public)を使用したダイアモンド継承
- 24. UML:修飾子の多重度
- 25. プリミティブ型のC++ const修飾子
- 26. KeyCodeと修飾子でkeyCharValueを取得
- 27. 新しい修飾子でベースクラスのパブリックメソッドを隠す
- 28. メソッドまたはインターフェイスでアクセス修飾子を定義できない理由はありますか?
- 29. C++リターン型修飾子天国
- 30. CodeModel修飾子の順番
あなたが質問していることの例は、質問をより明確にするでしょう –