回答編集履歴
2
回答の表現が不適切な点を変更
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
要するにどちらの主張も間違ったことを言っているように感じませんでした。
|
6
6
|
|
7
|
-
オーバーロードとオーバーライドの区別がつかないような初学者にならとりあえずXavi Lópezさんのような回答を推奨すると思いますが、より広い文脈でオーバーロードがpolymorphismと無関係かどうか
|
7
|
+
オーバーロードとオーバーライドの区別がつかないような初学者にならとりあえずXavi Lópezさんのような回答を推奨すると思いますが、より広い文脈でオーバーロードがpolymorphismと無関係かどうかの議論には自分はそれほど自信はありません。ただStack Overflowの前述の質問自体は「It's difficult to tell what is being asked here. This question is **ambiguous, vague, incomplete, overly broad, or rhetorical** and cannot be reasonably answered in its current form.」としてcloseされていることを考えると「文脈によって答えは違うものになることもある」ということを示唆していると自分は受け取りました。
|
8
8
|
|
9
9
|
```
|
10
10
|
stream.print(int)
|
@@ -13,7 +13,7 @@
|
|
13
13
|
int.print(stream)
|
14
14
|
string.print(stream)
|
15
15
|
```
|
16
|
-
というような議論をしているなら前者はオーバーロードを後者はオーバーライドを多態性の実現に用いる設計上の選択であるというのは間違ってない
|
16
|
+
というような議論をしているなら前者はオーバーロードを後者はオーバーライドを多態性の実現に用いる設計上の選択であるというのは間違ってないように感じます。しかしオーバーロード=多態性であるとまでは思いません。以下のようなオーバーロードが「多態性を実現するためのものです」と言われたら違う気がするからです。
|
17
17
|
|
18
18
|
```
|
19
19
|
class.operation(string,int)
|
1
最初のコードの後の説明でオーバーライドとオーバーロードが逆でした
answer
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
int.print(stream)
|
14
14
|
string.print(stream)
|
15
15
|
```
|
16
|
-
というような議論をしているなら前者はオーバー
|
16
|
+
というような議論をしているなら前者はオーバーロードを後者はオーバーライドを多態性の実現に用いる設計上の選択であるというのは間違ってないと思います。しかしオーバーロード=多態性であるとまでは思いません。以下のようなオーバーロードが「多態性を実現するためのものです」と言われたら「それは少々極論ではないかな?」と感じるからです。
|
17
17
|
|
18
18
|
```
|
19
19
|
class.operation(string,int)
|