7

私は、実行時にオブジェクト/非オブジェクト指向構造の型情報をチェックし、ある種の型エラーをスローすることを意味する動的型付けに慣れています。別のタイプの動的型付けはありますか (詳細を参照してください)。

4

2 に答える 2

5

そのとおり。ダックタイピングは、現時点での値の型は、現在のフィールドとメソッドに基づいているというイディオムです。動的型付けは、型が静的変数やパラメーターではなく、実行時の値に関連付けられていることを示しているだけです。両者には違いがあり、前者なしで後者を使用できます。

たとえば、PHP でプログラミングし、OO を使用せずに基本的な型に限定した場合、ダックタイピングを使用せずに動的型付けを使用することになります。

于 2010-11-09T12:56:40.907 に答える
1

いいえ、動的型付けは、値には型がありますが、変数には型がない場合です。そのため、ほとんどの型チェックは実行時に行われます。したがって、基本的に、値がアヒルのように歩いたり鳴いたりした場合、それはアヒルであり、そうでない場合はエラーがスローされます。ダックタイピングは、型安全であることを保証する動的型付けの機能を説明しているだけです(つまり、変数fooが正しい属性を持っているか、そのメソッドを実行できる場合にのみメソッドが実行されます)。

于 2010-08-01T14:45:49.047 に答える