回答編集履歴
4
微修正
test
CHANGED
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
上記WikipediaのC++の例はテンプレートを使っているので、test()のパラメータ t はコンパイル時にDuckかCatが確定します。実行するまでどちらか判らないというものではありません。
|
70
70
|
|
71
|
-
test()の中で`
|
71
|
+
test()の中で`t.fly();`メソッドを呼び出していたとします。
|
72
72
|
|
73
73
|
そして、間違って`test(Cat());`と呼び出そうとすると、ありがたいことにコンパイル・エラーになります。
|
74
74
|
|
3
微修正
test
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
|
67
67
|
ちょっと話はそれますが。
|
68
68
|
|
69
|
-
上記WikipediaのC++の例はテンプレートを使っているので、test()のパラメータ t は
|
69
|
+
上記WikipediaのC++の例はテンプレートを使っているので、test()のパラメータ t はコンパイル時にDuckかCatが確定します。実行するまでどちらか判らないというものではありません。
|
70
70
|
|
71
71
|
test()の中で`void fly(const Duck& t);`関数を呼び出していたとします。
|
72
72
|
|
2
typo修正
test
CHANGED
@@ -72,4 +72,4 @@
|
|
72
72
|
|
73
73
|
そして、間違って`test(Cat());`と呼び出そうとすると、ありがたいことにコンパイル・エラーになります。
|
74
74
|
|
75
|
-
動的型付け言語の場合、実行時にエラーになるでしょう。
|
75
|
+
動的型付け言語の場合、実行時にエラーになるでしょう。プログラムの完全なテストは不可能ですから、見逃した場合お客さんのところで発生します。可能な場合には避けたいシナリオです。
|
1
微修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
「ポリモーフィズム」という言葉に厳密な定義があるわけではないようですので、人によって解釈が異なります。
|
12
12
|
|
13
|
-
私自身は「異なるものを同じように使えること」を最も広い意味での「ポリモーフィズム」と理解しています。PHPの例はこれに該当しますし、私は間違ってい
|
13
|
+
私自身は「異なるものを同じように使えること」を最も広い意味での「ポリモーフィズム」と理解しています。PHPの例はこれに該当しますし、veeeさんのその認識を、私は間違ってはいないと思います。
|
14
14
|
|
15
15
|
|
16
16
|
|