動的言語(Python、ruby)と静的型言語(java、C ++)でのランタイム動的バインディングとクラス継承の概念を明確にしようとしています。私は自分が正しいかどうかわかりません。
PythonやRubyなどの動的言語では、ランタイム動的バインディングはダックタイピングとして実装されます。インタプリタがオブジェクトのタイプをチェックするとき、オブジェクトのタイプをチェックするのではなく、オブジェクトが特定のメソッド(または動作)を持っているかどうかをチェックします。実行時の動的バインディングは、クラスの継承を意味するものではありません。クラスの継承は、PythonとRubyのコードコピーを減らすだけです。
JavaやC++などの静的型付き言語では、ランタイム動的バインディングはクラス継承のみを取得できます。クラス継承は、ここでのコードコピーを減らすだけでなく、ランタイム動的バインディングを実装するためにも使用されます。
要約すると、クラス継承と実行時動的バインディングは2つの異なる概念です。PythonとRubyでは、まったく異なります。JavaとC++では、それらは一緒に混合されます。
私は正しいですか?