[難問]オブジェクト指向は愚かな考え。排○メソッドを実装した人間クラスから美少女クラスが作れない。




1: 名無しの民 2020/05/02(土) 15:44:30.62 ID:nt/o8jNO0 BE:422186189-PLT(12015)
sssp://img.5ch.net/ico/folder1_03.gif
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れないとは、オブジェクト指向の設計の難しさを表現したものである。

2001年に始まり今なお続く「石川梨華ってウンコするの?」という大論争をオブジェクト指向で設計するとどうなるのかという問題である。

下品な例だが納期が迫った時期に顧客の要望による大幅な仕様変更、それに耐えうる設計見積を作れるか、という非常に根の深い問題である。

ベストな答えはまだ得られていない。

https://togetter.com/li/790745

23: 名無しの民 2020/05/02(土) 15:48:42.59 ID:hlrC/gvy0
>>1

はあ?
排便メソッドが例外処理されるか、リターンのうんこオブジェクトがサイズゼロなんだろ

29: 名無しの民 2020/05/02(土) 15:50:01.87 ID:TBRqHZYk0
>>1
排便をI/Fにすれば解決

74: 名無しの民 2020/05/02(土) 16:01:54.79 ID:KIzeLylV0
>>1
virtual にしとけ

3: 名無しの民 2020/05/02(土) 15:45:10.78 ID:wMVsJL5B0
そこでDDD

5: 名無しの民 2020/05/02(土) 15:45:33.25 ID:vqklAx4A0
仕様がおかしい

6: 名無しの民 2020/05/02(土) 15:45:48.66 ID:h9QBuCi50
営業が悪い

11: 名無しの民 2020/05/02(土) 15:46:42.84 ID:yWIoUUKK0
美少女を人間クラスからextendすること自体間違い

58: 名無しの民 2020/05/02(土) 15:56:29.21 ID:Ht9+rO9t0
>>11
いっぺんこういう真面目なレスの繰り返しがどこまで続くか見てみたいわw

13: 名無しの民 2020/05/02(土) 15:47:09.01 ID:52OTcGV90
美少女クラスでは排便メソッドをオーバーライドして排便しませんってアナウンス出せばよくね

49: 名無しの民 2020/05/02(土) 15:54:31.76 ID:bbb/JcOK0
>>13
うんこ関数が人間クラスのpublic関数になっててどうしても表にでてしまうんだよ。そのなかの実装がどうなってるかによらず。

81: 名無しの民 2020/05/02(土) 16:05:16.35 ID:Fl2sXJkA0
>>49
じゃあ例外投げればいい
UnkoSupportedExceptionとか

17: 名無しの民 2020/05/02(土) 15:47:54.46 ID:LNtSrCCj0
20年経ってもオブジェクト指向が理解できない
でも理解できてなくてもコードは書ける
不思議!

18: 名無しの民 2020/05/02(土) 15:48:12.28 ID:ZqlaOwtq0
その美少女の定義ではマニアックな人を排除してしまうぞ

19: 名無しの民 2020/05/02(土) 15:48:14.70 ID:oH9/INRY0
難しい問題だな

20: 名無しの民 2020/05/02(土) 15:48:29.82 ID:3g7jqEpD0
排便メソッドをキラキラにオーバーライドすればいいんじゃないの?

21: 名無しの民 2020/05/02(土) 15:48:34.06 ID:t1FylKZ40
純粋関数で表現しろ

27: 名無しの民 2020/05/02(土) 15:49:30.75 ID:dh5Ihhia0
俺たちは排便メソッドについて何年議論してるんだ

28: 名無しの民 2020/05/02(土) 15:49:38.50 ID:MGtAX2So0
人間から美少女を派生するのではなく、別のクラスにすればいいだけやん

31: 名無しの民 2020/05/02(土) 15:50:47.64 ID:hlrC/gvy0
>>28

美少女は人間とは別ってことね、魔法少女とか明らかに別だもんな

33: 名無しの民 2020/05/02(土) 15:51:26.98 ID:V1+hGbXk0
美少女が排便することは人間として当然の摂理。だからオブジェクト指向は悪くない。

みんなホントは、美少女が排便することは知ってるんだ。現実を見てシステムを創りましょう。

35: 名無しの民 2020/05/02(土) 15:51:51.08 ID:eUk/VRWh0
プログラマーって楽しそう
コロナでも自宅で仕事出来るなんて勝ち組じゃん

52: 名無しの民 2020/05/02(土) 15:55:01.98 ID:Pjo/oHeX0
>>35
みんなが自宅待機なのに普通に休日も仕事とかだぞ

83: 名無しの民 2020/05/02(土) 16:06:01.62 ID:k8epzpRa0
>>35
秘密義務あるところは自宅でできないところもあるんだよなぁ

89: 名無しの民 2020/05/02(土) 16:08:54.90 ID:Fl2sXJkA0
>>83
そのためのシンクライアントだろ

92: 名無しの民 2020/05/02(土) 16:09:54.57 ID:pL4gFsMK0
>>83
ああいうとこ嫌だわ
ネットで調べものもできない

36: 名無しの民 2020/05/02(土) 15:51:56.68 ID:+d9m/o+H0
オブジェクトがクラスから生成されるのがそもそも間違いなんだよ
オブジェクトはモノ、クラスは視点
膨大な情報を持つオブジェクトにクラスを当てはめるってのが正しい使い方
ペンに対して鋭利という情報と手に持てるという情報があったら
凶器クラスとしても扱える
こういう言語が無いものかな

44: 名無しの民 2020/05/02(土) 15:53:42.64 ID:1erQVhFY0
>>36
言いたいことはわかるが、ペンに鋭利のタグは必要ない
(細かく)書ける、片手で持てるくらいでおk

66: 名無しの民 2020/05/02(土) 15:58:29.80 ID:G3LdHj+J0
>>36
多重継承ならC++

75: 名無しの民 2020/05/02(土) 16:02:26.47 ID:L+2Lyl+V0
>>36
多重継承しなくても文具のクラスにcanKillingのフラグを持つかkillingTypeを持てばいい

84: 名無しの民 2020/05/02(土) 16:06:37.14 ID:wazku+vV0
>>36
プロトコル指向

39: 名無しの民 2020/05/02(土) 15:52:41.39 ID:O6Yup5QM0
美少女が排便したらエラーでいいじゃん

40: 名無しの民 2020/05/02(土) 15:52:59.63 ID:hlrC/gvy0
マジレスすると、排出物のクラス定義が間違ってるんだろ
一般には、排出物を継承してうんことか汗とか屁を作る
美少女は、排出物を継承してハートや幸せ、ドキドキを作る

42: 名無しの民 2020/05/02(土) 15:53:18.84 ID:L+2Lyl+V0
overrideすりゃいいじゃん(´・ω・`)

43: 名無しの民 2020/05/02(土) 15:53:37.47 ID:o+q02z0B0
うんこをするのが人間だから
美少女を人間から継承するのが間違ってるんだろ

45: 名無しの民 2020/05/02(土) 15:53:48.90 ID:V1+hGbXk0
ところで、排便メソッド呼び出したら何がreturnされんの?

48: 名無しの民 2020/05/02(土) 15:54:31.08 ID:L+2Lyl+V0
>>45
糞オブジェクト(´・ω・`)

55: 名無しの民 2020/05/02(土) 15:55:33.99 ID:ahJHNAiP0
仮想関数なので実装しなければいいだけだろ

56: 名無しの民 2020/05/02(土) 15:55:40.81 ID:idJ2bPgU0
継承もとのクラスに直接実装するんじゃなくて、インターフェースで取り扱えば良いじゃん
デザパタ勉強すっぺよ

57: 名無しの民 2020/05/02(土) 15:56:03.45 ID:L+2Lyl+V0
これを書いた人がオブジェクト指向をかじった程度で話を作ったのがよくわかるよね
本業には勝てない

59: 名無しの民 2020/05/02(土) 15:57:05.78 ID:Pjo/oHeX0
要は object OutUnko()のobjectを自分の性癖に合わせて好きに使えば良いだけだろ

61: 名無しの民 2020/05/02(土) 15:57:35.49 ID:BJZ2ykMf0
美少女は女神クラスから継承すれば良いんじゃ?

62: 名無しの民 2020/05/02(土) 15:57:37.31 ID:nSl7Cx+F0
糞設計を実装でリカバリーすることは不可能

63: 名無しの民 2020/05/02(土) 15:57:43.22 ID:czbDYR6B0
プログラマーの世界でもヲタクはマイノリティーで嫌われる。

こいつらどこでメジャーな勢力として存在するのか不明

64: 名無しの民 2020/05/02(土) 15:58:20.03 ID:bQf801CX0
グローバル変数つかわかきゃいいんだろ?

65: 名無しの民 2020/05/02(土) 15:58:29.32 ID:LT5KRKpv0
人間全体をクラス化したらオブジェクト指向の意味がないだろ

78: 名無しの民 2020/05/02(土) 16:03:55.01 ID:L+2Lyl+V0
>>65
考えすぎ
仕様によっては別に構わんよ

68: 名無しの民 2020/05/02(土) 15:59:03.58 ID:eig6SQAQ0
そこで、マイクロサービスアーキテクチャですよ

70: 名無しの民 2020/05/02(土) 16:00:52.86 ID:iMGxTPut0
人間インターフェースを定義してウンコクラスを継承しなければいいだろ
デザインパターンを勉強しろ

71: 名無しの民 2020/05/02(土) 16:01:28.76 ID:Lc2C8W9Y0
そもそも人間クラスに排便メソッドを入れてるのが間違い

72: 名無しの民 2020/05/02(土) 16:01:31.06 ID:xNQ+gFZF0
そもそも仕様変更に強いのがオブジェクト指向。そうなってないならオブジェクト指向できていない。

73: 名無しの民 2020/05/02(土) 16:01:48.09 ID:1erQVhFY0
美少女をどう定義するかが重要
現存するかしないか
美少女だけどうんちするよ!クラスと
美少女だけど妖精だからうんちしないよ!クラスに分けるとか
現存してもレイヤーとかアイドルとかは、各自、妖精女神クラスにぶちこんどけばいい
まあ、現存する限りうんちはするのだが
非情だね

76: 名無しの民 2020/05/02(土) 16:02:44.43 ID:RSjF0SjM0
美の定義とは

77: 名無しの民 2020/05/02(土) 16:03:39.39 ID:dKDzgbaq0
Cも分からんのにプログラミングできます!(ドヤッなんて笑止千万

80: 名無しの民 2020/05/02(土) 16:05:05.45 ID:L+2Lyl+V0
>>77
今の若い子はjavaでもいいと思うけど
個人的にはjavaは糞言語だと思う
ポインタ隠蔽しといてポインタのエラーが主要なエラーってさ

88: 名無しの民 2020/05/02(土) 16:07:51.39 ID:s3zrWNcG0
>>80
だからnull安全な言語がでてきてるんじゃん?

それはそうと、こういう問題が出てくる場合は美少女の定義を真面目に考えるべきなんだよ

82: 名無しの民 2020/05/02(土) 16:05:22.90 ID:LVuD2Hxy0
排便クラスをoverrideして
独自処理にすりゃあいいんじゃね?

85: 名無しの民 2020/05/02(土) 16:07:18.40 ID:4Mm4t/q50
自己書き換え型

87: 名無しの民 2020/05/02(土) 16:07:50.00 ID:pL4gFsMK0
排便メソッドを夢や黄金がでるようなのにオーバーライドすればいいじゃん
むしろオブジェクト指向でしかできない

91: 名無しの民 2020/05/02(土) 16:09:51.44 ID:MzoO/S2l0
美少女は排便の情報隠蔽が行われてるだけなんだ

95: 名無しの民 2020/05/02(土) 16:15:09.40 ID:A2gYaMeU0
メソッドをオーバーライト?上書きすれば良いだろ
動作せずreturnする

96: 名無しの民 2020/05/02(土) 16:16:50.51 ID:0kWMeLjJ0
golang 「ぶっちゃけ継承なんて要らんし」


引用元

https://hayabusa9.5ch.net/test/read.cgi/news/1588401870/-100




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です