本の読書では、サブクラスのメソッドをオーバーライドすると、ランタイムポリモーフィズムを意味します。コンパイル時の多型性のようなものはありますか?コンパイル時に単純継承が起こったと思ったら、多態性は実行時です。コンパイル時の多型?
答えて
それらは時々コンパイル時の多型と呼ばれるを、オーバーロード方法を示唆しています。
実際、メソッドオーバーロードを使用すると、パラメータとして渡されるオブジェクトのタイプに基づいて、さまざまなコードを呼び出すことができます。オーバーロードはコンパイル時に解決されるため、オーバーロードのメカニズムはコンパイル時の多態性と考えることができます。
Lucca CardelliにはOn Understanding Types, Data Abstraction and Polymorphismという名前の素晴らしい記事があり、あなたの質問に対する答えを詳細に説明しています。
質問にはad-hoc polymorphismと呼ばれ、メソッドのオーバーロードとタイプのコヒーシオン(演算子のオーバーロードのようなもの)があり、これらはコンパイル時に発生します。一方、与えられたメソッドに適切な実装を選択することは、実行時に発生します。これはparametric or inclusion polymorphismの一部です。
しかし、私はLucca Cardelliがあなたに与えることができるよりも良い答えをあなたに与えるだろうと確信しています。
最近、私はこのフォーラムでanother similar questionに参加し、これら2つのタイプの多型のいくつかの例を提供しました。あなたがすでに知っているかもしれない印象を持っていますが、あなたはそれを見てみたいかもしれません。
Polymorphism in Object-oriented Programming languagesもお読みください。
計算にはどのように関係していますか? – user1364686
これは数学のような微積分ではなく、計算を理解するための最も確かな基礎の1つであるラムダ微積分です。タイプ理論のいくつかの概念を紹介するのに役立ちます。このラムダ計算は、あなたが言及した非ラムダ系の最も原始的な形式を示しています。質問に対する答えは最初の2〜5ページです。最初のページの説明を理解してください。 –
- 1. 多型コレクションのJavaコンパイル時の型チェック
- 2. Genericsランタイムまたはコンパイル時の多型はありますか?
- 3. コンパイル時間の多項式
- 4. コンパイル時のプリミティブ変数型
- 5. コンパイル時の汎用型チェック
- 6. コンパイル時のHaskell型エラー
- 7. コンパイル時間型生成
- 8. コンパイル時の型の順列P(N、R)
- 9. コンパイル時の型の割り当て
- 10. コンパイル時の型の特殊化
- 11. 角型CLI Typescriptコンパイル時のビルド
- 12. コンパイル時に完全型付きチェック
- 13. 多型と非多型の連合
- 14. 多型対継承。ディフレンス?多型の
- 15. コンパイル時にコンパイル時にHaxe
- 16. SQLブール型の多対多
- 17. ジェネリック型と多型
- 18. 多型列挙型
- 19. F#の記述型多型
- 20. C#ジェネリック型の多型
- 21. 多型ラムダの非型テンプレートパラメータ?
- 22. 多型/型キャスティングの使用
- 23. F#テンプレートでのコンパイル時の導出型の使用
- 24. コンパイル時に、辞書エントリ型のインタフェースでの正確性のチェック
- 25. 多型
- 26. 多型
- 27. ベクトルの多型
- 28. Unity3dの多型
- 29. 型階層、コンパイル型チェック
- 30. 型の等価性をチェックするためのコンパイル時関数
あなたは説明できますか? – user1364686
@ user1364686確かに、更新を見てください。 – dasblinkenlight
コンパイル時にオーバーロードされるため、実行時にオーバーライドされますか? – user1364686