私は、私が聞いている静的な多発性麻痺の概念についていくつか質問があります。それらは主にC++のコンテキストで解釈できますが、該当する場合は言語に依存しない回答をいただければ幸いです(したがって、C ++と言語に依存しない両方にタグを付けます)。
一般的に静的ポリモーフィズムをどのように定義しますか?例として、C ++の関数は、イテレータのように動作する
std::sort
オブジェクトによって提供されるインターフェイスに依存し、提供されたイテレータのインターフェイスでの正確な動作はコンパイル時に決定できるため、静的にポリモーフィックと見なされると思います。この説明は、静的ポリモーフィズムを定義する方法ですか、それとも特定のケースの説明であり、それ以上のものがありますか?C ++で静的ポリモーフィズムを使用する一般的なコードパターンは何ですか?また:SPはC ++のテンプレートを介してのみ達成されますか?
特定のUMLクラス図は、ポリモーフィズムがどのように処理されるかを直接記述していないため、静的または動的に少なくとも部分的に実装できるというのは本当ですか?言い換えれば、静的ポリモーフィズムと動的ポリモーフィズムの選択は、OOPモデルとは無関係であり、したがって、実装者が決定する必要がありますか?
静的ポリモーフィズムはC++固有であり、テンプレートの動作に関連していますか?そうでない場合は、C ++以外の他の主流言語に存在しますか?Java、C#..で静的ポリモーフィズムに相当するものを使用できますか?それは何らかの利点をもたらしますか?
最も重要なのは...静的ポリモーフィズムを使用することの実際の利点は何ですか?コードの柔軟性が低下することに同意できると思います。-C ++の場合-1つのポインター逆参照(仮想関数/関数へのポインター/デリゲートコスト)を節約する以外に、どのような利点がありますか?静的ポリモーフィズムが特に役立つ問題のクラスは何ですか?実装の正しい選択ですか?