2009-07-30 7 views
1

動的言語(Pythonなど)で電卓をやっていて、addメソッドがあるとします。ダックタイピング - 具体的なタイプが必要なときはどうですか?

def Add(x, y) 
    print x + y 

ここで間違った数値以外のものを渡す場合は、データ型のチェックが必要です。

上記の例のようなパラメータではなく、オブジェクトについての入力ですか?

さらに詳しい説明がありますか?

私が意味するオブジェクトによって編集

:メソッドに渡されるかについてノー注意して

Person.Quack() 
Duck.Quack() 

答えて

2

ダックタイピングは、あなたが作業しているオブジェクトが必要な操作をサポートしている限りです。 +が文字列連結の場合、文字列をAddに渡すと問題ありません。日付が+演算をサポートしている場合、渡す日付もうまくいくでしょう。

+0

+1この例のAddメソッドは、文字列に対してうまく機能します。 '+'に関しては、多くの型が動作します。 –

+0

これは私が読んだ/理解したものですが、あなたはそれらに日付を使用させたくないときにどうなりますか。電卓の場合は、データ型をチェックする必要があります。したがって、排卵するダックタイピング。 – Finglas

+0

@ Dockers:なぜデータ型をチェックするのですか?なぜ電卓は日付と文字列で動作しないのですか? –