目次

キーワード

概要

どのページに書くにも収まりの悪かったものをここに。

ダックタイピング

C# では通常、クラスやインターフェースの型情報に基づいてメソッド呼び出しが行われます。 一方で、動的言語と呼ばれるような言語では、 「同じ名前のメソッドを持っていれば変数の型は問わない」 というような方針でメソッドを呼び出せます。

動的言語でよく見られるような、インターフェースに頼るのではなく、 メソッドなどの名前だけ見て処理を振り分けるようなプログラミングスタイルを 「ダックタイピング(duck typing)」といいます。 (「アヒルのように歩き、アヒルのように鳴くものはアヒルに違いない」という格言が由来で、 「見てくれ一緒なら同じ扱いしてもいいじゃない」という意味。)

C# のような、静的言語に分類される言語ではダックタイピングはあまり使われませんが、 C# でも 「foreach 文」と LINQ 「クエリ式」でダックタイピングが使われています。

また、C# 4.0 では、dynamic キーワードを使うことでダックタイピングが可能です。

更新履歴

ブログ