- オブジェクト指向なんて今すぐやめてください
256 :193[sage]:2014/04/06(日) 17:34:59.78 ID:9QIW1syL - >>251
今回の>>193から始まった流れは、 まず継承を使うという前提の元で、 具象クラスから派生させることの是非を議論してきた その提案のポイントは、オブジェクト指向設計で そもそも継承は必要か?という、継承を使うことの是非だよね? そうした視点も大切だと思うけど、 今回の議論の流れからは脱線している
|
- オブジェクト指向なんて今すぐやめてください
260 :193[sage]:2014/04/06(日) 18:00:19.98 ID:9QIW1syL - さて、KAC氏はコードが書けず逃げ出したようなので、
ここまでの議論をマトメて終わらせようと思う ・安易な具象クラス継承(>>194)には、問題(>>207前段,210)がある ・この問題のいくつかは、抽象クラス継承(>>211)によって解決できる ・ただし抽象クラス継承によって、すべての問題が解決できるわけではない(>>195,207後段) ・また、そもそもオブジェクト指向設計に継承は必要か?という視点もある(>>251) これで自分は名無しに戻る 長文レスの連投、失礼しますた
|
- オブジェクト指向なんて今すぐやめてください
262 :193[sage]:2014/04/06(日) 18:20:27.72 ID:9QIW1syL - >>260カキコの後にレスに気付いたので、短くレスを返す
>>257 Obj-Cと同様、>>194のコードを書いたRubyにも抽象クラスの構文は存在しない そして安易な具象クラス継承の問題は、Obj-Cでも起こりうる つまり、これはプログラミング(OOP)や言語(OOPL)の問題ではなく、 設計(OOD)の問題だと考える >>258 >>207後段で指摘があるように、幾何学図形クラスのような 複雑なクラス継承設計では、「上手に」やらないと失敗することが多い これを「上手い/下手」や「美しい/汚い」といった 理想や直感で表現することは簡単だけど、そこで思考停止せず、 ナゼそうなのかという論理的かつ具体的な理由を探求していくことが大切だと思う
|
- オブジェクト指向なんて今すぐやめてください
265 :193[sage]:2014/04/06(日) 18:52:54.76 ID:9QIW1syL - >>261
横レスするけど、その問題はすでに>>195で指摘されていて、 >>196でレスを返しているよ そして、たとえimmutableであっても問題の本質が減るわけではないことは、 >>195のコードで示されている
|
- オブジェクト指向なんて今すぐやめてください
272 :デフォルトの名無しさん[sage]:2014/04/06(日) 21:37:43.69 ID:9QIW1syL - >>268
その「違いが大きい」とか「かなり似ている」とは、 具体的には何かな? また、4角形から頂点を1つ取り除くという変形操作からは3角形が作れる これは、>>261の考え方に従えば「頂点数は(派生ではなく)属性」になる さて、どちらが正しいのだろうか?
|
- オブジェクト指向なんて今すぐやめてください
274 :デフォルトの名無しさん[sage]:2014/04/06(日) 22:18:59.06 ID:9QIW1syL - 課題を更に一般化してみる
長方形と正方形の関係に限定した場合、 派生(=継承)を使う方法(>>194,211)と 属性を使う方法(>>251,261)が提案された さて、ここに幾何学図形の関係を表す図がある http://sicp.iijlab.net/fulltext/fig226.png これをクラスとして実装する時、 どのような考え方で設計できるだろうか? 派生、属性、それとも委譲、あるいはそれらの混在?
|
- オブジェクト指向なんて今すぐやめてください
278 :デフォルトの名無しさん[sage]:2014/04/06(日) 22:55:28.80 ID:9QIW1syL - >>276
もちろんIDを見れば分かるように193本人だよ >>260で書いたように、 具象クラス継承の話題は終わったので名無しに戻っている
|
- オブジェクト指向なんて今すぐやめてください
279 :デフォルトの名無しさん[sage]:2014/04/06(日) 23:12:46.04 ID:9QIW1syL - >>277
・4要素のPathオブジェクトがある ・先頭の頂点と末尾の頂点が等しい ・ある2辺の角度が直角である さて、このオブジェクトは長方形ではないのか? というのが>>195の指摘 特にimmutableと明示されていなければ オブジェクトの変形操作を想定することは自然だし、 困った問題だね
|