ページ 11

【雑談】静的結合とポリモーフィズム

Posted: 2013年2月07日(木) 16:13
by h2so5
ポリモーフィズムに関する説明を読むと、ポリモーフィズムは動的結合によって実現されると書かれている場合があります。
最近読んだ問題集の解説にもそのようなことが書いてありました。
(※ どちらも動的結合がポリモーフィズムの実現手段の一つであるという書き方ではなく、動的結合でないと実現できない、という表現がなされています)

しかし、実際は静的結合によるものもポリモーフィズムと呼んでいる説明もあります。
この場合「動的結合によって実現される」という説明が間違っているのか、それとも「ポリモーフィズム」の意味の取り方が違うのかどちらでしょうか。
教義狭義のポリモーフィズム?)

「IT用語辞典バイナリ」では動的結合によって実現されると書かれている
http://www.weblio.jp/content/%E3%83%9D% ... A%E3%83%A0

「Wikipedia 日本語版」では動的結合・静的結合については書かれていない
http://ja.wikipedia.org/wiki/%E3%83%9D% ... A%E3%83%A0

「Wikipedia 英語版」では
オーバーロードによる "Ad-hoc polymorphism"
オーバーライドによる "Subtype polymorphism"
(C++における) テンプレートによる "Parametric polymorphism"
が説明されている。
http://en.wikipedia.org/wiki/Polymorphi ... science%29

「ニコニコ大百科」ではポリモーフィズムの例として静的結合のみが挙げられている
http://dic.nicovideo.jp/a/%E3%83%9D%E3% ... A%E3%83%A0

Re: 【雑談】静的結合とポリモーフィズム

Posted: 2013年2月07日(木) 19:02
by ISLe
IT用語辞典バイナリだけが実装方法まで詳しく言及しようとして自爆しているように見えます。

実行時評価型でメソッドを注入できる言語は文法的に他の言語と大きく異なりますし、そういう言語はとうぜん動的結合ですが、本質的には動的結合か静的結合かは関係無いと思います。

Re: 【雑談】静的結合とポリモーフィズム

Posted: 2013年2月07日(木) 23:42
by Suikaba
僕も動的結合でも静的結合でもpolymorphismという言葉は使いますね。
ISLeさんと同様、関係ないと思います。

【追記】
一応探してみたら、こういう記述もありました。
In computer languages polymorphism has come to mean the ability to manipulate different types through a common interface.

Re: 【雑談】静的結合とポリモーフィズム

Posted: 2013年2月08日(金) 15:06
by h2so5
ISLe さん, Suikaba さん ありがとうございました。

ポリモーフィズムはかなり抽象的な概念ですから、具体的な実装まで指定しているのはやはりおかしいですよね。