オブジェクト指向って自然な文法だな 2 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2017/03/26(日) 14:30:57.45ID:7dOJEWlCオブジェクト指向って不自然な文法だよな [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1488928012/
0002デフォルトの名無しさん
2017/03/26(日) 15:09:20.80ID:5CZauTMv超自然、今からIクラスとInクラスを定義しなきゃ
Iにはこちらがコンピュータ上のオブジェクトにたいして出す命令全てをメソッドとして記述しよう
I.replace(objA,objB)
I.sumup(numericalobjectlist)
I.construct(obj ,By.(objectfactory))
自然過ぎ吹いたwwwこれぞ現実世界を記述するに相応しい表現だな
0003デフォルトの名無しさん
2017/03/26(日) 15:37:45.86ID:7dOJEWlCプログラマーのことか?
それともCPUのことか?
0004デフォルトの名無しさん
2017/03/26(日) 16:10:10.24ID:ACZDPQ0F名前空間になるのかなあ
0005デフォルトの名無しさん
2017/03/26(日) 17:20:51.74ID:YSC0s2Za他に変わるものが無いもんな
0006デフォルトの名無しさん
2017/03/26(日) 18:04:54.34ID:l+dBxcllあー関数型理解できない人か…
生産性の悪いOOPにしがみつく人生は大変そう…
0007デフォルトの名無しさん
2017/03/26(日) 18:11:49.71ID:avI+l4ibなんでそんなマウンティング?
0008デフォルトの名無しさん
2017/03/26(日) 18:59:40.16ID:6yrIJbRl0009デフォルトの名無しさん
2017/03/26(日) 19:40:23.76ID:C1bHvYK/そいつも、お前も、アホだから
0010デフォルトの名無しさん
2017/03/26(日) 19:40:52.42ID:XA6YgUQb0011デフォルトの名無しさん
2017/03/26(日) 19:43:22.21ID:C1bHvYK/仕事おせーぞ、能無しども
0012デフォルトの名無しさん
2017/03/26(日) 19:45:45.59ID:C1bHvYK/設計書がえらい事になって後から入ってくる奴の学習量が時間経過と共に増加するから
簡単なプロジェクトならまだしも、まともなシステムでは論外と結論出た
0013デフォルトの名無しさん
2017/03/26(日) 19:47:35.65ID:C1bHvYK/猫が鳴いてんだよ
0014デフォルトの名無しさん
2017/03/26(日) 19:57:32.05ID:XA6YgUQb前スレもググってもようわからんぞ
0015デフォルトの名無しさん
2017/03/26(日) 20:29:19.70ID:/dNZ7b2Aそれじゃあ、オブジェクト指向に対する関数型のメリットを説明できる?
出来ないでしょ?
お前は、関数指向ってバズワードを楽しんでるだけ。
周りを巻き込まないでくれる?
0016デフォルトの名無しさん
2017/03/26(日) 20:35:28.48ID:wLX0ZmuV0017デフォルトの名無しさん
2017/03/26(日) 20:46:38.57ID:/wEjbMQu0018デフォルトの名無しさん
2017/03/26(日) 20:52:58.43ID:/dNZ7b2A猫がドアを押し開けるモデリングすら2日かかった
やはりオブジェクト指向は使い物にならない
という結論を出しそう
0019デフォルトの名無しさん
2017/03/26(日) 20:54:20.93ID:7dOJEWlC2日かかったのはお前の能力の問題だろw
0020デフォルトの名無しさん
2017/03/26(日) 20:56:43.07ID:/dNZ7b2Aある程度業務を理解した時に見ると
酷いと思っちゃう
なんとかする方法は無いかなと思うけど
無いよね
0021デフォルトの名無しさん
2017/03/26(日) 21:00:17.29ID:/dNZ7b2A関数型って、実装レベルでは
コードが小さくなったり非同期処理が簡潔に書けたりメリットはあるだろうけど
猫がドアを開ける問題を簡潔にしたり出来るの?
まあ、俺もラムダ使えないとかストレスだけど
あくまで実装レベルの話だよね
実装レベルなら、
そんなに大きな問題には感じないわ
0022デフォルトの名無しさん
2017/03/26(日) 21:05:54.26ID:XA6YgUQbまずオブジェクト指向は抽象的な話
そして猫はドアを開ける事は出来る、がドアを開けるはずの生き物ではないし
ドアは猫に開けられる事は想定されてない
出来る、からといって想定されてない事情をシステムに盛り込むのはおかしい
0023デフォルトの名無しさん
2017/03/26(日) 21:07:18.37ID:mdrVR0tFオブジェクト指向は外へのインターフェイスを変えずに
中身を書き換えてリプレースできるんだけどねぇ…
MacOSXは2007~2009あたりでそのOS全面書き換えやって
それでなんもバグ出ないから「なんも変わってねぇ!」って謎の謗り受けてたw
0024デフォルトの名無しさん
2017/03/26(日) 21:10:41.46ID:wLX0ZmuV968 名前:デフォルトの名無しさん Mail: 投稿日:2017/03/26(日) 16:05:45.98 ID:TXTrXvby
>>964
なぜドアに自分自身の開閉状態を知る事が出来るのか?
971 名前:デフォルトの名無しさん Mail:sage 投稿日:2017/03/26(日) 16:28:28.75 ID:fIyCs4Ls
>>968
ネタだろうけどマジレスすると
把握すべき状態変化を該当のオブジェクトに閉じ込めることで
開発や維持管理上の利便性が高まるからそういう仕組みにしてるだけ
現実のドアが自分の開閉状態を知ることができないとか自分で開閉することができないとか
そういうのと特定の用途のためにドアをどうモデル化するかは全く別次元の話
それを分離して考えられない人にはオブジェクト指向は無理
0025デフォルトの名無しさん
2017/03/26(日) 21:12:06.21ID:7dOJEWlC違う。
猫という生物はドアがなくても存在している通り
ドアとは関係ない。
猫に対してドア専用の処理を入れるのは間違っている。
ただし非現実世界の猫であればそうとは言い切れない。
非現実世界であればドア開け専用猫というものだって作れる
0026デフォルトの名無しさん
2017/03/26(日) 21:13:56.62ID:wLX0ZmuV0027デフォルトの名無しさん
2017/03/26(日) 21:17:31.59ID:TXTrXvbyやっぱりバカにオブジェクト指向は扱えない
理解したつもりで珍妙なモデル()が構築される様は非常に痛々しかったよ
0028デフォルトの名無しさん
2017/03/26(日) 21:18:16.33ID:6T6lVuSZ0029デフォルトの名無しさん
2017/03/26(日) 21:21:14.49ID:XA6YgUQbいんやその非現実世界の猫は猫と呼ぶに相応しくないな
猫人間とか呼んだ方がいいやろ。猫人間とやらが猫クラスとどう関係付けるかはまた別問題にした方がいいな
0030デフォルトの名無しさん
2017/03/26(日) 21:23:55.08ID:7dOJEWlCそれは非現実世界のドアだから。
現実に近づけたドアでは自分自身の開閉状態というものはなくなる。
例えば物理演算機能を搭載したゲームであれば「物体と物体は重なることがない」
という事実によって、しまっているドアを通り抜けることは出来ないだろう。
そしてドアをあけるということは、丁番で固定されている板を動かす行為にすぎない。
自分自身どころか開閉状態というものをなくすことだってできる。
そこまで実現するにはかなり面倒な現実世界のシミュレートが必要ってだけ
0031デフォルトの名無しさん
2017/03/26(日) 21:24:10.35ID:TXTrXvby出来の悪い現実世界の模写にしかならない
0032デフォルトの名無しさん
2017/03/26(日) 21:24:56.51ID:7dOJEWlC人間じゃないのだから、人間である必要がない。
0033デフォルトの名無しさん
2017/03/26(日) 21:26:13.36ID:7dOJEWlC完璧に行なえよ!という指摘はアホとしか言いようがない。
完璧に行うのがオブジェクト指向ではない。
行いやすくするのがオブジェクト指向だ。
0034デフォルトの名無しさん
2017/03/26(日) 21:28:27.68ID:XA6YgUQb猫の人間てのは例えよ。
非現実の猫なんて何て呼ぶに相応しいか知らんしな
とりあえずそれは猫、と呼ぶに相応しくない
0035デフォルトの名無しさん
2017/03/26(日) 21:29:39.93ID:7dOJEWlCだから非現実の猫は人間じゃないから、人間をつけるのは間違いって言ってるんだが?
0036デフォルトの名無しさん
2017/03/26(日) 21:30:23.74ID:7dOJEWlC> とりあえずそれは猫、と呼ぶに相応しくない
猫クラスっていえば?(笑)
0037デフォルトの名無しさん
2017/03/26(日) 21:32:04.24ID:7dOJEWlC当たり前のことだがねw
つーかコンピュータを使って現実世界の
生物を作れると思ってるのか?
神の領域だぞw
0038デフォルトの名無しさん
2017/03/26(日) 21:37:01.98ID:XA6YgUQb非現実の猫は人間と呼ぶのも間違いだし猫と呼ぶのも間違いだな
猫人間(仮)とか呼べばいいのか?
0039デフォルトの名無しさん
2017/03/26(日) 21:37:40.81ID:7dOJEWlCアホか
0040デフォルトの名無しさん
2017/03/26(日) 21:38:27.75ID:/wEjbMQu主語はほぼ常に処理が書かれてるクラスだから省略されてるだけだろ
>In(document)
なんぞこれ
0041デフォルトの名無しさん
2017/03/26(日) 21:39:29.61ID:7dOJEWlC猫"クラス" とすればよい
クラスであるということは現実世界のものではないことを意味する
0042デフォルトの名無しさん
2017/03/26(日) 21:41:19.91ID:XA6YgUQbしょうがないだろドアは基本人間様専用なんだから
0043デフォルトの名無しさん
2017/03/26(日) 21:42:41.55ID:7dOJEWlCお前の間違いが分かってスッキリしたわ(笑)
0044デフォルトの名無しさん
2017/03/26(日) 21:45:32.70ID:V93zNkIR0045デフォルトの名無しさん
2017/03/26(日) 21:47:04.40ID:XA6YgUQb猫は基本ドアを開けるべきではないしどうしても猫にドアを開けさせたいなら
やはり猫人間(仮)というものを作りこいつにドアを開けさせるしかない。これを猫クラスと関連付けるかはケースバイケースだろうな
そしてこれに対して猫はドアを開けていると呼べるかはやはしケースバイケースやな
0046デフォルトの名無しさん
2017/03/26(日) 21:48:38.56ID:XA6YgUQb抽象的なのはいい事だがそれが具体的にならないのは良くないな
0047デフォルトの名無しさん
2017/03/26(日) 21:48:39.87ID:7dOJEWlC>>25より
猫という生物はドアがなくても存在している通り
ドアとは関係ない。
0048デフォルトの名無しさん
2017/03/26(日) 21:49:15.21ID:6T6lVuSZBoardクラス、Threadクラス、Userクラスがあるとする。
BoardはThreadを管理するが、Userが何をするかは基本どうでもいい。
ThreadクラスはBoardに管理されるが
他にどんなthreadがあるか気にする必要はないし
user.Kakikomi()によって渡されるテキストを
保管するのが仕事
UserはIDや書き込み回数を管理して、回線と紐付けする。
オブジェクト指向を使わないとなると
これをひとつの場所にまとめることになるわけで
それはそれで不可能ではないけど
分けた方がわかりやすいでしょ?
少なくともBoardとUserの関係性はかなり薄いから
ほぼ無視できるし。
ってのがオブジェクト指向じゃないの?
0049デフォルトの名無しさん
2017/03/26(日) 21:50:14.51ID:7dOJEWlCドアとは関係ない。
人間という生物もドアがなくても存在している通り
ドアとは関係ない。
またドアは人間や猫がいなくても存在している通り
どちらとも関係ない関係ない。
ドアは風で開くこともあるように、開けるのは人間とは限らない
0050デフォルトの名無しさん
2017/03/26(日) 21:52:25.68ID:XA6YgUQbうむ。ドアと猫と人間は全くの別クラスであるべきだ
例え猫が人間用のドアを開けることが出来たとしてもな
0051デフォルトの名無しさん
2017/03/26(日) 21:55:13.67ID:avI+l4ib猫と人間を分ける必要があるのかね
String person = "夏目"
String cat = ""
これでよくね?
0052デフォルトの名無しさん
2017/03/26(日) 21:57:14.76ID:XA6YgUQb今までの話でいう猫人間(仮)というやつだな
多分この辺が難しい所やろうな
0053デフォルトの名無しさん
2017/03/26(日) 21:57:45.85ID:7dOJEWlCむしろ誰があけるとか考えないで
独立させることができるのが
オブジェクト指向だよね。
他のものに依存させないので
拡張性が高い設計ができる。
0054デフォルトの名無しさん
2017/03/26(日) 21:58:19.79ID:7dOJEWlCたった一人という(笑)
0055デフォルトの名無しさん
2017/03/26(日) 22:04:27.25ID:XA6YgUQbそれならまずドアの問題があるな
ペット専用の人間が通れない小さな入り口はまずドアと呼べるのか?という問題がある
おそらくはドアとは呼べないが入り口という意味でドアとの意味合いが被ってしまう
誰が開けるとか考えないならまずドアクラスを見直すべきだな
0056デフォルトの名無しさん
2017/03/26(日) 22:09:59.61ID:7dOJEWlC普通に「ペットドア」って言えばいいだろw
普通に使われてる用語だぞ
ペットドア、キャットドア、ドッグドア
検索したらヒットする単語だ
で、何が言いたいって?
0057デフォルトの名無しさん
2017/03/26(日) 22:10:29.72ID:XA6YgUQb猫がドアを開けるという話で
ドアをドア、と呼ぶのが間違いなのかもしれん
0058デフォルトの名無しさん
2017/03/26(日) 22:10:49.44ID:7dOJEWlC話がしたいのか。
ペットドアにはドアって言葉が含まれているとおり
ドアだろう?
0059デフォルトの名無しさん
2017/03/26(日) 22:12:16.88ID:7dOJEWlCドアインターフェースをを持ってるドアクラスの一種ってことだろうな。
そのペットドアにはサイズと言った属性があることだろう。
0060デフォルトの名無しさん
2017/03/26(日) 22:14:56.76ID:XA6YgUQbそれらはドアと言う名前が付いてるだけでドアと安直に呼べないということだな
同じドアでもそれらは人間は通れないし、鍵を付けたら猫は間違いなく通れなくなってしまう
それらを踏まえた上で抽象的な意味でドアとはどういうモノとして捉えるべきかという話になる
0061デフォルトの名無しさん
2017/03/26(日) 22:17:38.79ID:7dOJEWlCドアの一種だとわかったが、
さて、このペットドアは人間が開けることはできるだろうか?
答は「できる」だね。
同じように普通のドアを開けることができる猫もいる
もはやペットドアの効果がない、人間みたいに部屋へ入る猫が笑える(笑)
http://heal-animals.com/post-3766/2/
ということでペットドアにはペットと付いているし、ペットがついてないドアも
人間だけが開けられることではないことは証明された
まあ、最初から言うようにドアはドアであり、他のオブジェクトとは独立しているもの
この独立性がオブジェクト指向のメリットの一つでもある。
0062デフォルトの名無しさん
2017/03/26(日) 22:18:27.53ID:7dOJEWlCということでペットドアにはペットと付いているからといってペット専用ではないし、
ペットがついてないドアも人間だけが開けられることではないことは証明された
0063デフォルトの名無しさん
2017/03/26(日) 22:20:27.99ID:XA6YgUQbいや入り口クラスとか別の呼び名で呼んだ方がいい
サイズという属性もあれば開き方の問題とか色々ある
そもそもドア、と言われると人間が取手をひねって開ける物という先入観もあるし
ドア自体色々ある入り口の一つの形式だからとても限定的でもある
0064デフォルトの名無しさん
2017/03/26(日) 22:22:52.74ID:6T6lVuSZ考える際にmammalクラスまで考える必要あるのか?
というどこまで考えるべきか?問題は確かに難しいと思うけど
0065デフォルトの名無しさん
2017/03/26(日) 22:23:56.83ID:/wEjbMQucat.getPosition()
オブジェクト指向のオブジェクトって主語なのか目的語なのかはっきりしない
0066デフォルトの名無しさん
2017/03/26(日) 22:24:07.52ID:7dOJEWlCペットドアという名前がすでに存在する。
アマゾンでも楽天でもググれば出てくる
0067デフォルトの名無しさん
2017/03/26(日) 22:24:54.37ID:7dOJEWlC> オブジェクト指向のオブジェクトって主語なのか目的語なのかはっきりしない
catオブジェクトに(ドアの)openメソッドは存在しない
0068デフォルトの名無しさん
2017/03/26(日) 22:27:25.39ID:XA6YgUQbまずこれが難問だ
ドアだろうがペットドアだろうが何でもいいんだが
猫がドアを開けるという話で
ドアをドアと呼ぶに必要な要素は何だろう?
0069デフォルトの名無しさん
2017/03/26(日) 22:27:37.11ID:wLX0ZmuVコマンド(メッセージ)を送る対象=目的語でしょ
0070デフォルトの名無しさん
2017/03/26(日) 22:28:47.57ID:/wEjbMQu今はそんな話がしたいんじゃない
抽象化のできんやつだな
0071デフォルトの名無しさん
2017/03/26(日) 22:29:17.29ID:7dOJEWlC> ドアをドアと呼ぶに必要な要素は何だろう?
プログラムと関係ない話だから
辞書でも見ると良いよw
0072デフォルトの名無しさん
2017/03/26(日) 22:29:58.14ID:/wEjbMQuじゃあcat.open(door)の主語ってなに…
0073デフォルトの名無しさん
2017/03/26(日) 22:32:05.58ID:7dOJEWlCそのコードが書かれているクラス
0074デフォルトの名無しさん
2017/03/26(日) 22:32:33.50ID:V93zNkIR0075デフォルトの名無しさん
2017/03/26(日) 22:33:12.92ID:XA6YgUQbだな。
猫がドア開ける話なら猫オブジェクトにジャンプとひっかきメッセージでドアを開けるという事は出来るけども
>>71
バカチン
辞書を引くのは必要があるのは正解だが抽象化プログラミングで一番関係がある所だろ
0076デフォルトの名無しさん
2017/03/26(日) 22:33:59.88ID:/wEjbMQuわからん
Mainclass open cat by door…?
ちょっとえいごになおして
0077デフォルトの名無しさん
2017/03/26(日) 22:34:45.96ID:oC0jrerO小説書いてる訳でもなし自然言語に対応させることに無理がある様な
0078デフォルトの名無しさん
2017/03/26(日) 22:36:19.75ID:7dOJEWlC言語によってはthisやselfが表現できるものが
主語ってことだよ
0079デフォルトの名無しさん
2017/03/26(日) 22:37:52.27ID:7dOJEWlC猫がドアによって開かれる?
お前英語の勉強したほうが良いんじゃね?w
0080デフォルトの名無しさん
2017/03/26(日) 22:38:19.75ID:4NQfH3Br0081デフォルトの名無しさん
2017/03/26(日) 22:40:38.17ID:wLX0ZmuVThe main class makes cat to open the door.
0082デフォルトの名無しさん
2017/03/26(日) 22:40:39.93ID:/wEjbMQuだからわからんゆーてるやん!
そもそもcatが目的語じゃないっぽいから主語じゃなかったら何者なのか不明
0083デフォルトの名無しさん
2017/03/26(日) 22:40:44.36ID:4NQfH3Brドアにキャットドア付けるだけでこの大騒ぎ
オブジェクト指向は駄目だな
0084デフォルトの名無しさん
2017/03/26(日) 22:40:59.06ID:/wEjbMQu0085デフォルトの名無しさん
2017/03/26(日) 22:41:17.61ID:wLX0ZmuVすまんtoはいらない
The main class makes cat open the door.
0086デフォルトの名無しさん
2017/03/26(日) 22:42:05.33ID:XA6YgUQbまず猫がドアあける訳ないしな
具体的な意味で猫にドア開けさせるのはアリだとしても
抽象的な意味で猫にドアを開けさせようと考えるのは間違ってる
0087デフォルトの名無しさん
2017/03/26(日) 22:44:55.67ID:XA6YgUQb不明でいいんだよ
不明だから後で猫でも非現実世界の猫でも猫人間でもなれるし出来る
0088デフォルトの名無しさん
2017/03/26(日) 22:45:18.83ID:wLX0ZmuV人間用ドアに猫が通るための猫用ドアをつけたいのか要件定義をはっきりさせてくれ
0089デフォルトの名無しさん
2017/03/26(日) 22:48:02.08ID:/wEjbMQu不 自 然 な 文 法 だ な !
でもちょっとすっきりしたありがとう
0090デフォルトの名無しさん
2017/03/26(日) 22:50:07.45ID:4NQfH3Brそれはお前がやるんだよ!
客がどうしたいかなんてこっちが「このようになります」って
出してから「この部分ですがいかがいたしましょう」って聞くんだろ
初めから全部出てるとかありえない
0091デフォルトの名無しさん
2017/03/26(日) 22:53:56.00ID:/wEjbMQu自動詞だと主語になるのかと思ったらそうでもない
0092デフォルトの名無しさん
2017/03/26(日) 22:54:54.44ID:wLX0ZmuVえぇ...
それただ依頼元が無能なだけだろ
0093デフォルトの名無しさん
2017/03/26(日) 22:58:14.39ID:wLX0ZmuVいや文法自体は正しいんだよ
ただやってることが現実離れしているだけで
例えばもしもう少し現実に近い要件として
フリーランで動く猫がいて、猫がドアに加える力がある一定値以上になったら
ドアが開く様にする
ってなってるならまた違った作り込みになるってだけ
これはオブジェクト指向が自然か不自然かという議論とは全く別問題
0094デフォルトの名無しさん
2017/03/26(日) 22:59:47.54ID:/dNZ7b2A文句言うのは良いけど
構造化プログラミングじゃ
猫ドアの表現すらできんし
どうしたら良いよ
0095デフォルトの名無しさん
2017/03/26(日) 23:01:09.02ID:/dNZ7b2A猫がドアを開けるという処理が
完全に規定されている
構造化プログラミングが最強というオチ?
0096デフォルトの名無しさん
2017/03/26(日) 23:02:41.73ID:x+8SPGXv0097デフォルトの名無しさん
2017/03/26(日) 23:03:25.20ID:wLX0ZmuV猫ドアの仕様が明確になってない
または不自然な仕様になっている
ってだけなんだけど理解いただけない?
0098デフォルトの名無しさん
2017/03/26(日) 23:03:41.66ID:7dOJEWlC猫が何かを思ったというイベントハンドラの中で
隣の部屋に行きたいと思った時に実行するのが
door.open() だよな
すごく自然だ
0099デフォルトの名無しさん
2017/03/26(日) 23:04:17.02ID:6T6lVuSZ0100デフォルトの名無しさん
2017/03/26(日) 23:04:38.85ID:/wEjbMQu現実離れしてるかなあ
猫はコマンドパターンというか割とよく見るきがする
bigComplexDataClass.write(stream)とか
0101デフォルトの名無しさん
2017/03/26(日) 23:04:44.57ID:7dOJEWlCそりゃ不自然なのは当たり前だろw
猫に(ドアの)openメソッドなんてないのに
cat.open()とか書いてるんだから
0102デフォルトの名無しさん
2017/03/26(日) 23:05:30.11ID:wLX0ZmuVそうだな
で、door.open()が呼び出される条件は例えば>>93の様にドアに加わっている力などで判定する
0103デフォルトの名無しさん
2017/03/26(日) 23:07:14.59ID:7dOJEWlC現実のドアのシミュレーションをしたいという前提か?
ならそうだろうな。
0104デフォルトの名無しさん
2017/03/26(日) 23:08:00.92ID:7dOJEWlC>>30でさっき書いたとおりだよ。
> なぜドアに自分自身の開閉状態を知る事が出来るのか?
それは非現実世界のドアだから。
現実に近づけたドアでは自分自身の開閉状態というものはなくなる。
例えば物理演算機能を搭載したゲームであれば「物体と物体は重なることがない」
という事実によって、しまっているドアを通り抜けることは出来ないだろう。
そしてドアをあけるということは、丁番で固定されている板を動かす行為にすぎない。
自分自身どころか開閉状態というものをなくすことだってできる。
そこまで実現するにはかなり面倒な現実世界のシミュレートが必要ってだけ
0105デフォルトの名無しさん
2017/03/26(日) 23:08:04.53ID:wLX0ZmuV>猫に(ドアの)openメソッドなんてないのに
>cat.open()とか書いてるんだから
だからそれは要件次第なわけで...
仮に猫にドアを開ける調教がなされていて、ドア開けてって命令すれば
ドアを開けられる様な猫がいるという設計要件があるならば、
catクラスはドアをオープンする能力=メソッドを持つ実装が施される
何度も言うが、その設計要件自体が自然か不自然かは、
オブジェクト指向とはなんら関係がない
0106デフォルトの名無しさん
2017/03/26(日) 23:08:52.34ID:EFRDc51t0107デフォルトの名無しさん
2017/03/26(日) 23:09:54.78ID:7dOJEWlC> ドアを開けられる様な猫がいるという設計要件があるならば、
じゃあそれは単純にメソッド名がおかしいって話だ
0108デフォルトの名無しさん
2017/03/26(日) 23:11:50.76ID:7dOJEWlC命令する人が俺だとするのなら、
主語は俺で「俺が猫に○○しろと命令を出す」
という感じになるだろうな。
0109デフォルトの名無しさん
2017/03/26(日) 23:11:58.96ID:wLX0ZmuV>じゃあそれは単純にメソッド名がおかしいって話だ
うーん、じゃあ、前スレの>>861のように
cat.openDoor(Door door)
ならまだ納得出来る?
0110デフォルトの名無しさん
2017/03/26(日) 23:12:20.83ID:7dOJEWlC0111デフォルトの名無しさん
2017/03/26(日) 23:12:35.32ID:7dOJEWlCそうなるとopenDoorは関数ではなくて引数ということになる。
0112デフォルトの名無しさん
2017/03/26(日) 23:12:41.06ID:wLX0ZmuVうん、そうなると思う
0113デフォルトの名無しさん
2017/03/26(日) 23:13:05.89ID:XA6YgUQbopenメソッドもペットドアならアリだろう?
0114デフォルトの名無しさん
2017/03/26(日) 23:13:34.86ID:KSncMErM> 前スレ見て確信したんだけど
> やっぱりバカにオブジェクト指向は扱えない
> 理解したつもりで珍妙なモデル()が構築される様は非常に痛々しかったよ
だろ?
オレもアホの思考に呆れて、おもしれーから「お前ら馬鹿だろ?w」って言ってるのに、
バカどもは全く自分を省みようとしねぇんだもんな
あいつら、自分が珍妙だって分かってないんだぜ?w
0115デフォルトの名無しさん
2017/03/26(日) 23:15:04.25ID:KSncMErM> オブジェクト指向であれば、現実世界のシミュレーションを
> 完璧に行なえよ!という指摘はアホとしか言いようがない。
>
> 完璧に行うのがオブジェクト指向ではない。
> 行いやすくするのがオブジェクト指向だ。
言い訳はじめたよw
出来ることすら出来てねーから笑われてんじゃんw ノータリン♪
0116デフォルトの名無しさん
2017/03/26(日) 23:15:11.23ID:7dOJEWlCcat.execCommand(OEPN_DOOR)
こうだろうな
JavaScriptでもあるな。
https://developer.mozilla.org/ja/docs/Web/API/Document/execCommand
0117デフォルトの名無しさん
2017/03/26(日) 23:15:52.06ID:wLX0ZmuVであれば、例えばcatクラスにはperformOrder(int order)のような
猫が命令を実行するメソッドが定義されていて、
引数として渡す命令orderが、定数てもenumでもいいけど、例えば
OpenDoorのようなドアを開ける命令を表すものがCatクラスに定義されてて、
cat.performOrder(Car.OpenDoor);
の様に呼び出す
でもいいんじゃね?
0118デフォルトの名無しさん
2017/03/26(日) 23:16:33.07ID:wLX0ZmuVあ、かぶったな
そう、そういう感じ
0119デフォルトの名無しさん
2017/03/26(日) 23:17:07.17ID:wLX0ZmuV○Cat.OpenDoor
0120デフォルトの名無しさん
2017/03/26(日) 23:20:28.07ID:KSncMErM>>16-113 に、読む価値のあるレス、皆無w
おまえら何人でかきこんでんの?
それだけ人数がいて、昨日までの話の進捗より後退してんじゃねーかwwww
そりゃ、ID:TXTrXvby に“珍妙だ”って言われるわ、バカばっか
0121デフォルトの名無しさん
2017/03/26(日) 23:21:02.64ID:EKCv78dEもうめんどくさいからjava.lang.reflectionとjavaassist使ってもいいか?
0122デフォルトの名無しさん
2017/03/26(日) 23:21:10.86ID:wLX0ZmuV命令ごとにメソッドを用意するか、命令を実行するメソッドと命令列を用意するかの違いなだけだけど
0123デフォルトの名無しさん
2017/03/26(日) 23:21:44.78ID:KSncMErM> こうだろうな
やてwwwwwwwwww
はらいてぇwwwww
0124デフォルトの名無しさん
2017/03/26(日) 23:22:15.68ID:wLX0ZmuV0125デフォルトの名無しさん
2017/03/26(日) 23:22:28.32ID:EFRDc51t0126デフォルトの名無しさん
2017/03/26(日) 23:23:15.56ID:EKCv78dEうわぁグロい
0127デフォルトの名無しさん
2017/03/26(日) 23:24:25.19ID:XA6YgUQbサブクラスはどう具体的にドアを開けるようになるのかようわからんのだが、、
0128デフォルトの名無しさん
2017/03/26(日) 23:24:42.92ID:/wEjbMQuサブリミナル効果で東芝がつぶれるから単芝いうのやめて
0129デフォルトの名無しさん
2017/03/26(日) 23:25:54.03ID:XA6YgUQbまあでも一理ある、
俺はそもそも猫にドア開けさせんな派だからな
0130デフォルトの名無しさん
2017/03/26(日) 23:26:20.10ID:wLX0ZmuV何か誤解をしているようだ
cat.run();
と同じ様な感覚で
cat.open();
と考えているんだろうが、
cat.open(door);
であって、openの目的語はdoorだ
前スレの例なら
cat.openDoor(door);
だからさらに明確になるが
0131デフォルトの名無しさん
2017/03/26(日) 23:26:54.11ID:fIyCs4Lsふりだしに戻った感
0132デフォルトの名無しさん
2017/03/26(日) 23:29:17.14ID:KSncMErM---------------------------------------------------------------------------
>>643 : デフォルトの名無しさん2017/03/25(土) 16:29:23.71 ID:Gy0JTtQc
> >640
> 全くそのとおりだなw
> ネコからすれば手を動かしたに過ぎない。
> 手を動かしたら、何かに当たる
> それがドアかもしれないしネズミかもしれない
> cat.canOpenとかアホだろw
>>644 : デフォルトの名無しさん2017/03/25(土) 16:34:48.34 ID:Gy0JTtQc
> やるならcat.touch(object)だろうな
> ネコは触るだけ。
> これを実行すると、objectはtouchというイベントを受信し、
> objectがdoorなら空いたり閉まったりするだろう。
> またネコはネコで(非同期で)そのフィードバック
> イベントを受信することになるだろう。
>>665 : デフォルトの名無しさん2017/03/25(土) 20:18:46.65 ID:Bl9nCmA6
> 帰ってきて見てみたら、よくもまぁそんな頓珍漢な話で盛り上がれるなw
> おまえら、本物のアホだろ >632-664
> ゴミクズだらけだなw
> 割りとマトモなのは
> >640 >643 >644
> この辺だけだな。後は軒並みゴミクズだ
>よくもそんなマヌケなレスでスレを埋め尽くせるもんだ
>>666 : デフォルトの名無しさん2017/03/25(土) 20:20:16.37 ID:Bl9nCmA6
> cat.touch(object)はねーけどな。
> 少なくともpush()やscratch()くらいは実装してるはずだ
> なんだよ、touchって。お前の猫はアホなのか?
0133デフォルトの名無しさん
2017/03/26(日) 23:32:07.22ID:KSncMErM>>16-131のオレ以外のレスに、読む価値のあるレス、皆無w
0134デフォルトの名無しさん
2017/03/26(日) 23:33:30.51ID:7dOJEWlC猫自身が直接持っているメソッドと
猫に対する命令をごっちゃにしている。
こういうやつがオブジェクト指向はわけわからんと
言ってるんだよ。
0135デフォルトの名無しさん
2017/03/26(日) 23:33:38.11ID:EFRDc51t注釈つけなくても大丈夫
お前も存在価値ないから
0136デフォルトの名無しさん
2017/03/26(日) 23:35:06.97ID:EKCv78dEあー、もうなんならPrologやったらどうだ、合うかもしらんよ
0137デフォルトの名無しさん
2017/03/26(日) 23:35:50.52ID:KSncMErM今お前のID抽出して読んでみたら、お前、大分いいコト言ってるじゃん。
その調子でがんばってくれ、アホしかいなくて困ってた
0138デフォルトの名無しさん
2017/03/26(日) 23:38:18.10ID:KSncMErM> うーん、じゃあ、前スレの>>861のように
> cat.openDoor(Door door)
> ならまだ納得出来る?
だ・か・ら、
http://echo.2ch.net/test/read.cgi/tech/1488928012/860
http://echo.2ch.net/test/read.cgi/tech/1488928012/861
は、頓珍漢な馬鹿すぎてダメだって、何回言わせんだよ
0139デフォルトの名無しさん
2017/03/26(日) 23:39:56.15ID:XA6YgUQbお前このスレは読む価値のあるレス皆無言いながら一番書き込んでる奴によく見たらいい事言ってるてどうゆう事よ、
0140デフォルトの名無しさん
2017/03/26(日) 23:42:02.57ID:KSncMErM文字通り、“よく読んでみたらいいコト言ってた”ということだが?
そいつ、ワザとアホレス混ぜてるからよく読まんとわからんという事だよ
0141デフォルトの名無しさん
2017/03/26(日) 23:44:02.39ID:KSncMErM>>98 : デフォルトの名無しさん2017/03/26(日) 23:03:41.66 ID:7dOJEWlC
> これが自然だよな
> 猫が何かを思ったというイベントハンドラの中で
> 隣の部屋に行きたいと思った時に実行するのが
> door.open() だよな
>>101 : デフォルトの名無しさん2017/03/26(日) 23:04:44.57 ID:7dOJEWlC
> >97
> そりゃ不自然なのは当たり前だろw
> 猫に(ドアの)openメソッドなんてないのに
>cat.open()とか書いてるんだから
これとかな。言ってること背反してんだろ? これ、わざとやってんだぜ?
0142デフォルトの名無しさん
2017/03/26(日) 23:44:30.18ID:EFRDc51tちゃんと読まずに読む価値なしと決めつけるとはなかなか難解な価値観をお持ちですな
0143デフォルトの名無しさん
2017/03/26(日) 23:44:51.11ID:EKCv78dEこれで黙るはずだ……!
Joel on softwareの「アーキテクチャ宇宙飛行士」思い出すな、こういう流れ
0144デフォルトの名無しさん
2017/03/26(日) 23:45:25.52ID:KSncMErM>>98 : デフォルトの名無しさん2017/03/26(日) 23:03:41.66 ID:7dOJEWlC
> これが自然だよな
> 猫が何かを思ったというイベントハンドラの中で
> 隣の部屋に行きたいと思った時に実行するのが
> door.open() だよな
> すごく自然だ
0145デフォルトの名無しさん
2017/03/26(日) 23:46:03.02ID:KSncMErMちゃんと読んで判断してほしいなら、もうちょっとマトモなこと言えるようになろうな
0146デフォルトの名無しさん
2017/03/26(日) 23:47:19.69ID:wLX0ZmuV>猫自身が直接持っているメソッドと
>猫に対する命令をごっちゃにしている。
cat.execCommand(OPEN_DOOR);
はOPEN_DOOR(ドアを開ける)という命令(動作)を実行せよという命令を猫に出している
cat.openDoor(door);
はdoorを開けよという命令を猫に出している
両方とも猫に対して命令を出しかつ結果は同じだが、一般的には上の表現が妥当ということ?
0147デフォルトの名無しさん
2017/03/26(日) 23:48:58.25ID:EKCv78dE多分我々ごとき凡人などでは知りえぬ超高級言語をお使いなのであろうと思われる
言語系として未実装の奴
0148デフォルトの名無しさん
2017/03/26(日) 23:49:03.57ID:KSncMErM少なくとも、
こんなレスしかしない馬鹿、ちゃんと判断してもらえるわけねぇよなw
----------------------------------------------------------------------------
106 : デフォルトの名無しさん2017/03/26(日) 23:08:52.34 ID:EFRDc51t
盛り上がってるなぁ
125 : デフォルトの名無しさん2017/03/26(日) 23:22:28.32 ID:EFRDc51t
単芝滅ぶべし
135 : デフォルトの名無しさん2017/03/26(日) 23:33:38.11 ID:EFRDc51t
>>133
注釈つけなくても大丈夫
お前も存在価値ないから
142 : デフォルトの名無しさん2017/03/26(日) 23:44:30.18 ID:EFRDc51t
>140
ちゃんと読まずに読む価値なしと決めつけるとはなかなか難解な価値観をお持ちですな
----------------------------------------------------------------------------
0149デフォルトの名無しさん
2017/03/26(日) 23:50:40.91ID:KSncMErM> 両方とも猫に対して命令を出しかつ結果は同じだが、一般的には上の表現が妥当ということ?
端的に言うと、どっちもキチガイということ
0150デフォルトの名無しさん
2017/03/26(日) 23:50:55.15ID:EKCv78dEなんだこの仕様、やべえよ
0151デフォルトの名無しさん
2017/03/26(日) 23:50:57.98ID:XA6YgUQbどっちでもええなこれは
猫が主役かドアが主役かなんてわからんしな
0152デフォルトの名無しさん
2017/03/26(日) 23:51:18.02ID:EFRDc51t全く話に参加してないはずの俺に対してもいろいろ評価してくれてありがとうな
貴重な時間が無駄になるから俺に構わず他を評価してやってくれ
0153デフォルトの名無しさん
2017/03/26(日) 23:54:29.47ID:KSncMErMあー、たしかに評価に値しないという評価をくだした、と判断できるわな…って、
トンチ問答したいなら酬恩庵でも行ってろクズ
0154デフォルトの名無しさん
2017/03/26(日) 23:55:15.72ID:KSncMErM死ね
0155デフォルトの名無しさん
2017/03/26(日) 23:56:16.32ID:EKCv78dE変な入力に対して耐性があり
階層のエラーにもある程度リカバリが効いて
俺の問題なり客の問題なりをキッチリ解決できるなら
オブジェクトがどーとかどうでもよくね、って気がする
0156デフォルトの名無しさん
2017/03/26(日) 23:56:24.32ID:EFRDc51tおう
いってらっしゃい
0157デフォルトの名無しさん
2017/03/26(日) 23:56:58.99ID:XA6YgUQbジャンプして取手を空中で叩いて少し空いた所を着地した後に身体でドア押して入るって事か?
こんなもんメソッドにすんじゃねぇよ
0158デフォルトの名無しさん
2017/03/26(日) 23:58:06.77ID:EKCv78dEさっきローカルで試した
0159デフォルトの名無しさん
2017/03/26(日) 23:58:25.46ID:/wEjbMQu0160デフォルトの名無しさん
2017/03/26(日) 23:59:09.42ID:XA6YgUQb猫が入るという事ならcat.openでいいが、ドアが入れるのを選ぶような事ならdoor.openもアリだ
0161デフォルトの名無しさん
2017/03/26(日) 23:59:26.66ID:EKCv78dEgem install KSncMErM
入るから試せる
0162デフォルトの名無しさん
2017/03/27(月) 00:00:09.92ID:E+FNp5P9すまん見落としてた
いや例えばその例は別に現実離れしていない
ただ、今回の題材が猫だから面倒くさい感じになってるだけで...
0163デフォルトの名無しさん
2017/03/27(月) 00:10:24.00ID:GePKDk09超クールなやつだぜ
出来ないなら寝言ぶっこいてると判断していいだろ
0164デフォルトの名無しさん
2017/03/27(月) 00:11:45.18ID:NR+izKjpシュレーディンガーの猫
その箱を開けなければ猫は死なずに済むかも知れなかった
0165デフォルトの名無しさん
2017/03/27(月) 00:13:39.79ID:E+FNp5P9重ね合わされた状態のままだったという感じだろうけど
0166デフォルトの名無しさん
2017/03/27(月) 00:14:19.69ID:GePKDk09ぬこだいすきなのでリフレクションでごまかす
0167デフォルトの名無しさん
2017/03/27(月) 00:14:56.12ID:GePKDk090168デフォルトの名無しさん
2017/03/27(月) 00:16:15.69ID:E+FNp5P9カプセル化のポリシー違反や...
0169デフォルトの名無しさん
2017/03/27(月) 00:16:37.89ID:GePKDk09っていう話をするとぬこさんダメじゃん orz みたいな
0170デフォルトの名無しさん
2017/03/27(月) 00:16:40.59ID:hxVTicGO0171デフォルトの名無しさん
2017/03/27(月) 00:19:25.06ID:GePKDk09まぁな
大事なものを守るために、やらなきゃいけないことも……あるんや……!
あ、俺今カッコよくね? (A:全然かっこよくない)
もう冗談の域だからな……せいぜいふざけていこう
あとメール欄に「さげ」って書いても下げてくれるんだな、知らなんだ
0172デフォルトの名無しさん
2017/03/27(月) 00:20:30.60ID:UxXnYzuGオブジェクト指向の理解度を測れるとわかったのがこのスレの収穫
0173デフォルトの名無しさん
2017/03/27(月) 00:20:55.40ID:NR+izKjp0174デフォルトの名無しさん
2017/03/27(月) 00:21:44.18ID:GePKDk09大体の人はバートランド・ラッセルのような現実主義者であって
ヴィトケンシュタインみたいなオナニストじゃないからな
0175デフォルトの名無しさん
2017/03/27(月) 00:24:37.13ID:E+FNp5P9手段を選んでる余裕はないからな
背に腹はかえられぬ...
つーか「さげ」も有効とか2chの中の人は暇だろ絶対
0176デフォルトの名無しさん
2017/03/27(月) 00:27:50.67ID:GePKDk09やるときはなんか「できないなら裁判沙汰」ってときだけよ
ひでぇ客は相手にしたくないね……
0177デフォルトの名無しさん
2017/03/27(月) 00:28:13.14ID:8CT7MInZその2レスは別に背反してないと思う。
どちらもdoor.open()が正しいという主張だ。
cat.go(diningRoom)などの処理でdoor.open()を呼ぶのだろう。
0178デフォルトの名無しさん
2017/03/27(月) 00:30:12.48ID:jVvzovDA> つか猫がドア開けるってどんな状況なのよ
> ジャンプして取手を空中で叩いて少し空いた所を着地した後に身体でドア押して入るって事か?
なんでこのバカは、ドアに取っ手があるって決めつけてるん?
本物のバカなん?
0179デフォルトの名無しさん
2017/03/27(月) 00:31:11.28ID:jVvzovDA> 猫が入るという事ならcat.openでいいが、ドアが入れるのを選ぶような事ならdoor.openもアリだ
ねーっつってんじゃん、池沼
0180デフォルトの名無しさん
2017/03/27(月) 00:32:19.64ID:GePKDk09真剣に考えて下すった相手を池沼呼ばわりするとかは許せんな
俺はそういうのが大嫌いだ
0181デフォルトの名無しさん
2017/03/27(月) 00:34:55.83ID:jVvzovDA> 今のIDが何か知らんけど、旧ID:KSncMErM先生がコードをご披露くださるってよ
> 超クールなやつだぜ
> 出来ないなら寝言ぶっこいてると判断していいだろ
クールなわけ無いじゃん。スゲー普通なやつだ。
お前らの奇天烈なコードじゃなく、普通のコードだ。
ただし、
http://echo.2ch.net/test/read.cgi/tech/1488928012/820
こいつが晒してからな。そういう約束だからな。
0182デフォルトの名無しさん
2017/03/27(月) 00:35:27.99ID:uDHlqDK4一般的な犬との戯れを
OOPLで表現すると以下ので正しいよね?
Dog dog = new Dog();
dog.take(new Ball());
Ball ball = dog.give();
つか、Getter/Setterとか
廃止すれば良いのにと思う。
もう使ってる人は居ないでしょ?
0183デフォルトの名無しさん
2017/03/27(月) 00:36:39.77ID:jVvzovDA> 真剣に考えて下すった相手を池沼呼ばわりするとかは許せんな
> 俺はそういうのが大嫌いだ
ほー、そうかい
オレは、真剣に考えてその程度しか考えられない不勉強なバカこそ、大嫌いだ
0184デフォルトの名無しさん
2017/03/27(月) 00:36:54.00ID:hxVTicGO決めつけてないだろう?決めつけてると決めつけたら駄目よ
0185デフォルトの名無しさん
2017/03/27(月) 00:38:54.99ID:jVvzovDA> どちらもdoor.open()が正しいという主張だ。
もしそうなら、言ったやつは本物のアホだから、本当にそうかそいつに聞いてみな
0186デフォルトの名無しさん
2017/03/27(月) 00:39:27.07ID:vQHLMr9cおまえの考える普通のコードと異なるものを全て否定するその発想は不自由だと思う
0187デフォルトの名無しさん
2017/03/27(月) 00:39:36.59ID:jVvzovDAアホは黙ってろ
0188デフォルトの名無しさん
2017/03/27(月) 00:40:30.16ID:hxVTicGOこれはよう分かるわ。犬種やボールの種類はサブクラス化でイメージし易い
猫がドア開けるとかは状況が意味わからんしな、題材としてアカン
0189デフォルトの名無しさん
2017/03/27(月) 00:40:31.70ID:jVvzovDAなんでそう、自分の都合の良いように解釈する?
奇天烈なコード・仕様・設計だから「普通じゃない」と言ってるだけだ
くじゅあんだーすたん?
0190デフォルトの名無しさん
2017/03/27(月) 00:42:07.91ID:NR+izKjp0191デフォルトの名無しさん
2017/03/27(月) 00:42:08.35ID:vQHLMr9cじゃあその「普通」ってのは何を基準に定めてるの?
0192デフォルトの名無しさん
2017/03/27(月) 00:46:36.23ID:GePKDk09ここはム板だ、コードで語れ
コードでお前の能力を証明して見せろ
お前のクールなコードを見せてみろ
できないなら情シス板かマ板にでも失せな
0193デフォルトの名無しさん
2017/03/27(月) 00:47:29.51ID:hxVTicGO抽象的で素晴らしい
この文法なら何故この時俺をアホと呼べたか今じゃなく後々で理屈付けをすればいい
お手本のようなオブジェクト指向の使い方だ
0194デフォルトの名無しさん
2017/03/27(月) 00:48:36.00ID:GePKDk09こいつの言うことは全部無視していい
0195デフォルトの名無しさん
2017/03/27(月) 00:50:43.09ID:GePKDk090196デフォルトの名無しさん
2017/03/27(月) 00:55:51.25ID:GePKDk090197デフォルトの名無しさん
2017/03/27(月) 00:56:00.51ID:jVvzovDA> 犬にボールを取って来させて受け取る
> 一般的な犬との戯れを
> OOPLで表現すると以下ので正しいよね?
>
> Dog dog = new Dog();
> dog.take(new Ball());
> Ball ball = dog.give();
全然ダメ
> 犬にボールを取って来させて
ここから分かることは、ボールは主人が用意して設置したということ
なのに、dog.take(new Ball()); と、新しいボールを犬が取っている
さらに、犬は「取ってこさせられる」のだからtakeは不適切。letTakeあたり
Ball ball = dog.give(); に至ってはもう、アホとしか。誰目線なんだよという話。
「犬にボールを取って来させて受け取る 」を現実的に正しく表現すると
Ball ball = dog.bitten; あたり。
犬が咥えているものくらい、パブリックアクセスできるだろう。
getterはお前を尊重して使わなかった。
Ball ball = takeBall(dog); でもいいだろう。
ウォームアップとしてはこんなもんだ。
0198デフォルトの名無しさん
2017/03/27(月) 00:59:24.13ID:hxVTicGO0199デフォルトの名無しさん
2017/03/27(月) 00:59:33.38ID:GePKDk09そういう子だと思って付き合ってあげるといいと思うよ
一番いいのは「失せろカス」ってひたすらいってあげることかな
>>197
失せろカス
0200デフォルトの名無しさん
2017/03/27(月) 00:59:39.35ID:w19GhvCXそいつはスルーでいいと思う
他人をバカにすることでしか自己を維持出来ない奴の典型だから
さらにこいつが救えないのはただ単にバカと言ってるだけで全く論理性がないところ
本当に論破したいならもっと落ち着いて論理的に述べればいいものを無能がゆえに感情的になって全く会話にならない
もはや御愁傷様と言わざるを得ないレベル
0201デフォルトの名無しさん
2017/03/27(月) 00:59:58.44ID:jVvzovDAオブジェクト指向ってなんだ? ってことがわかってないバカにはそうかもな
0202デフォルトの名無しさん
2017/03/27(月) 01:00:54.65ID:jVvzovDA---------------------------------------------------------------------------------
199 : デフォルトの名無しさん2017/03/27(月) 00:59:33.38 ID:GePKDk09
ID:jVvzovDAって他人をヘイトすることで「俺ツエー」を表現したい子っぽいから
そういう子だと思って付き合ってあげるといいと思うよ
一番いいのは「失せろカス」ってひたすらいってあげることかな
>>197
失せろカス
200 : デフォルトの名無しさん2017/03/27(月) 00:59:39.35 ID:w19GhvCX
>>194
そいつはスルーでいいと思う
他人をバカにすることでしか自己を維持出来ない奴の典型だから
さらにこいつが救えないのはただ単にバカと言ってるだけで全く論理性がないところ
本当に論破したいならもっと落ち着いて論理的に述べればいいものを無能がゆえに感情的になって全く会話にならない
もはや御愁傷様と言わざるを得ないレベル
0203デフォルトの名無しさん
2017/03/27(月) 01:01:03.23ID:GePKDk09失せろカス
0204デフォルトの名無しさん
2017/03/27(月) 01:01:16.40ID:UxXnYzuGBallはどういうメソッド持ってるの? 人間は出てこないの?
犬が勝手にボールを取ってくるのと取って来させるのと違いはないの?
dog.give()は常にBall型を返すの?
とかね、採用面接で使えそう
何回も言うけどモデルが適切かどうかは用途次第だよ
0205デフォルトの名無しさん
2017/03/27(月) 01:01:30.70ID:GePKDk09失せろカス
0206デフォルトの名無しさん
2017/03/27(月) 01:02:13.51ID:jVvzovDAオレが論理性ないと思ってる時点で、そう判断するやつに論理性が無いことを証明してるんだよ。
0207デフォルトの名無しさん
2017/03/27(月) 01:02:34.63ID:GePKDk09失せろカス
0208デフォルトの名無しさん
2017/03/27(月) 01:03:22.72ID:vQHLMr9c論理的に「普通」について教えてくれ
0209デフォルトの名無しさん
2017/03/27(月) 01:03:30.82ID:jVvzovDA> Ballはどういうメソッド持ってるの?
おもしれーこというなー、こいつ
現実世界を模倣したら、Ballがメソッド持ってるわけねーじゃん。
Ballが持ってるのはプロパティだけだよw
0210デフォルトの名無しさん
2017/03/27(月) 01:03:38.65ID:hxVTicGOまあでもオブジェクト指向以前に手続き型でも関数型でも全く同じ指南が出来るからな
0211デフォルトの名無しさん
2017/03/27(月) 01:04:00.66ID:GePKDk09失せろカス
0212デフォルトの名無しさん
2017/03/27(月) 01:04:27.48ID:jVvzovDA知りたいの? じゃ、“普通は”教えて“ください”だよね♪
0213デフォルトの名無しさん
2017/03/27(月) 01:05:29.77ID:jVvzovDAそうだよ? つまりバカどもは、プログラムの基本中の基本もわかってねーって事なんだよ?
0214デフォルトの名無しさん
2017/03/27(月) 01:05:31.84ID:GePKDk09ID:jVvzovDAを認めよう
どのみち数レスくらいで文体みりゃわかるんだけど……
0215デフォルトの名無しさん
2017/03/27(月) 01:06:07.86ID:GePKDk09>>213
失せろカス
0216デフォルトの名無しさん
2017/03/27(月) 01:06:12.22ID:vQHLMr9cいや、だから何をもって普通としているの?
0217デフォルトの名無しさん
2017/03/27(月) 01:07:10.71ID:jVvzovDA> ブラウザキャッシュをクリアしてOS再起動する女々しさがないあたりだけは
> ID:jVvzovDAを認めよう
なんでそんなめんどくさいことしなきゃなんないの?
オレ様だけが絶対に正しいこと言ってるのに♪
0218デフォルトの名無しさん
2017/03/27(月) 01:07:44.74ID:GePKDk09失せろカス
0219デフォルトの名無しさん
2017/03/27(月) 01:08:09.39ID:jVvzovDAん?
>知りたいの? じゃ、“普通は”教えて“ください”だよね♪
これに異論があるってこと? おまえ、他人に物を教わる時、「教えてくれ!」って言うの?
ばかじゃんw
0220デフォルトの名無しさん
2017/03/27(月) 01:09:59.13ID:w19GhvCXそれが社会的な存在を抹消する唯一の方法
0221デフォルトの名無しさん
2017/03/27(月) 01:10:45.55ID:GePKDk09失せろカスとかタイプするのだるいから 失 だけでいいか?
めんどくさくなってきたんだよ
0222デフォルトの名無しさん
2017/03/27(月) 01:12:00.67ID:hxVTicGOこれは違うな。ballは割れるだの跳ねるだのの振る舞いはballの持ち主ではなくballそのものに依存すべきよ
上記の話のドアだって鍵が付いてたら鍵が合わない場合、ドアに鍵が合わないと言わせなきゃいかん
現実で無機質だからと言ってメッセージを返さないようにするのは違う
0223デフォルトの名無しさん
2017/03/27(月) 01:12:05.83ID:jVvzovDAこうなると、「言っていることの是非は関係ない、オレが気に入らないから排除だ!」レベルのガイキチさんだなぁ…
0224デフォルトの名無しさん
2017/03/27(月) 01:12:25.50ID:GePKDk09……なんで文系の俺がマやってんだか #ここで食いつくと思うよ
0225デフォルトの名無しさん
2017/03/27(月) 01:12:34.62ID:vQHLMr9cなかなか通じないな
俺がバカなのは周知のことだからどうでもいいんだよ
俺はおまえが繰り返してる「普通は」って言うその「基準」を知りたいんだよ
0226デフォルトの名無しさん
2017/03/27(月) 01:14:18.78ID:GePKDk09お前は理由もなく他人をヘイトした
彼か彼女かは知らんが、彼が言いたいことを理解しようと試みたように思えない
だから同じことをし返している
もう 失 でいいよなタイプするのだるいし
0227デフォルトの名無しさん
2017/03/27(月) 01:18:49.31ID:jVvzovDAおまえがどうあってほしいかなんてしらないけど、
メソッドって何だかわかってるん?
ボールが勝手に跳ねてくれたら便利だな―って、しらねーよ。
ボールは投擲者が与えた慣性によって進んでるだけ
持ってるのは加速度ベクトルというプロパティ
地面に当たった時もそう。
ボールが自分で「こんな角度ではねかえって進みまーす」って決めて動いてるんじゃない。
>現実世界を模倣したら
って言ったろ?
これだけ言えば、そろそろ本題のヒントが見えてくんだろ?
お前らの仕事ってなんだ? おまえらの書きやすいようにコードを書くことだと思ってるのか?
>現実で無機質だからと言ってメッセージを返さないようにするのは違う
「違う」じゃなくて、お前が「大変だからヤダ」と思ってるだけだろ?
0228デフォルトの名無しさん
2017/03/27(月) 01:21:18.82ID:hxVTicGOああ確かにこの人具体的な言及はしてないなってわかり易いのかもわからん、、
0229デフォルトの名無しさん
2017/03/27(月) 01:21:19.82ID:jVvzovDAお前の言いたいことなんか全部わかった上で相手してるんだから心配すんなよ。
で、
>知りたいの? じゃ、“普通は”教えて“ください”だよね♪
これに異論があるってこと? おまえ、他人に物を教わる時、「教えてくれ!」って言うの?
に、素直に答えた方おまえのためになるんじゃないかと思うよ
0230デフォルトの名無しさん
2017/03/27(月) 01:23:14.31ID:jVvzovDA> >223
> お前は理由もなく他人をヘイトした
理由は「そいつがアホだから」って言ったじゃん。あるよ♪
0231デフォルトの名無しさん
2017/03/27(月) 01:26:07.66ID:GePKDk09ID:jVvzovDAの文面を見る限り「俺が気に食わないからイヤです」って営業マンの寝言に見えるな
自称SEかも知らんが
お前が言ったことを実現できなかったら、億単位の損害を賠償するとかそういう世界になる
ま、学者さんなのかもしらんがね
とりあえず失せな
0232デフォルトの名無しさん
2017/03/27(月) 01:27:07.53ID:vQHLMr9c別に俺のためとか考えてくれなくていいから
結局何をもって普通のコードとするかの基準はなんなの?
やっぱり基準なんか無くておまえの意図するコード以外は全て否定して異常としてるだけなの?
0233デフォルトの名無しさん
2017/03/27(月) 01:27:21.82ID:jVvzovDAお前のバカれすに賛同者がいっぱいついたらいいな♪
0234デフォルトの名無しさん
2017/03/27(月) 01:27:40.12ID:w19GhvCX無視して関わらないと言うのが唯一の解でありかつ最適解
ということでみんな寝よう
おつかれさま
0235デフォルトの名無しさん
2017/03/27(月) 01:27:57.40ID:jVvzovDAそれはお前がオレに聞かれた事に答えていかないと、お前には見えてこない
0236デフォルトの名無しさん
2017/03/27(月) 01:28:43.30ID:jVvzovDA一人で寝ればいいのにw
みんなが寝ないと眠れないって小学生かよw
0237デフォルトの名無しさん
2017/03/27(月) 01:29:07.48ID:vQHLMr9c質問に対して質問で返してごまかす程度のやつか
もういいよ
0238デフォルトの名無しさん
2017/03/27(月) 01:29:34.06ID:jVvzovDAだが、敢えて言っておくなら
>やっぱり基準なんか無くておまえの意図するコード以外は全て否定して異常としてるだけなの?
違うよ。
お前らバカにはわからんだろうけどな。
0239デフォルトの名無しさん
2017/03/27(月) 01:30:34.13ID:jVvzovDA0240デフォルトの名無しさん
2017/03/27(月) 01:30:54.83ID:GePKDk09三発くらい「失せろカス」で黙らなかったから、なんか別の手を試みているけど
いやー楽しいね
試みがいがある
目的は黙らせることでね、黙るまでいろいろやってみたいね
0241デフォルトの名無しさん
2017/03/27(月) 01:31:21.01ID:jVvzovDA0242デフォルトの名無しさん
2017/03/27(月) 01:31:36.57ID:hxVTicGOいやいやballを投げる奴が投げたballがどれ程飛ぶのか跳ねるのか耐久性があるのか知っているとは限らないて話よ
だからballにメソッドをもたせるのは間違ってない
さっきのドアの話が一番わかり易い。ドアを解錠しようとする人間がいて鍵が合わなかった場合、鍵が合わないと誰が人間に伝えるかって事よ
0243デフォルトの名無しさん
2017/03/27(月) 01:32:06.96ID:jVvzovDAん? お前、誰? 初めて見た
0244デフォルトの名無しさん
2017/03/27(月) 01:32:48.08ID:vQHLMr9cそーゆーのは答えてから言うべきだよね♪
0245デフォルトの名無しさん
2017/03/27(月) 01:34:28.41ID:jVvzovDA> いやいやballを投げる奴が投げたballがどれ程飛ぶのか跳ねるのか耐久性があるのか知っているとは限らないて話よ
> だからballにメソッドをもたせるのは間違ってない
いや、間違ってるよ。
それがわかんないとしたら、お前の世界は現実世界に比べて何かが欠けてるんじゃね?
>さっきのドアの話が一番わかり易い。ドアを解錠しようとする人間がいて鍵が合わなかった場合、鍵が合わないと誰が人間に伝えるかって事よ
伝えるわけねーじゃん。鍵回らねーって人間が認識するだけだよ、現実世界なら。
0246デフォルトの名無しさん
2017/03/27(月) 01:34:54.28ID:w19GhvCXまあ好きでやってるならもう止めないけど、明日朝起きてなんでこんな奴のために自分の時間使ってたんだろう
って自己嫌悪に陥らない程度にね
ではでは
0247デフォルトの名無しさん
2017/03/27(月) 01:35:05.96ID:GePKDk09ああ ID:jVvzovDA はマでもないし、SEでもない
何度 ID:GePKDk09 にレスしたか覚えていないのか?
営業してこい、せいぜい稼いで来いよ
失せろカス
やべぇ、楽しくなってきたよ……!
0248デフォルトの名無しさん
2017/03/27(月) 01:36:10.05ID:GePKDk09あざーす
0249デフォルトの名無しさん
2017/03/27(月) 01:38:01.78ID:jVvzovDA0250デフォルトの名無しさん
2017/03/27(月) 01:38:57.19ID:jVvzovDAごめん、記憶の片隅にもない。
で、おまえ、誰? なんか意味あること言ってたっけ?
0251デフォルトの名無しさん
2017/03/27(月) 01:38:59.46ID:vQHLMr9cだからおまえの周りはクズだらけなんだね☆
0252デフォルトの名無しさん
2017/03/27(月) 01:39:46.48ID:hxVTicGO現実世界の物と比べるのはいい方法だが完璧ではないな
現実だと人間がドアの鍵が合わない場合人間が勝手に認識すればいいが
プログラミングだとドアが人間にメッセージ送って"ドアが人間に認識させなければならない"
ドアが自ら人様に喋らなきゃいかんのだ
0253デフォルトの名無しさん
2017/03/27(月) 01:41:11.88ID:jVvzovDA> >245
> 現実世界の物と比べるのはいい方法だが完璧ではないな
いや、「完璧ではないな、キリッ」じゃなくて、
そういうお題なんだって。
おまえ、前スレ読んでこいよ
0254デフォルトの名無しさん
2017/03/27(月) 01:42:07.06ID:jVvzovDAおまえ、仕様が降りてきた時に、「こういう仕様は現実的じゃないですね」って言うん?
「こういう設計は現実的じゃないですね」じゃないぞ?
0255デフォルトの名無しさん
2017/03/27(月) 01:42:57.90ID:GePKDk09スルーしないでレスったのは知ってる証拠やで
なんか無益な気がしてきたんだが、どうしたらいいんかな
冗談でリフレクションっぽいのをrubyで書いたらシカトされたし
pythonかjavaで書いたら冗談を理解してくださるんかね
0256デフォルトの名無しさん
2017/03/27(月) 01:43:02.26ID:jVvzovDA0257デフォルトの名無しさん
2017/03/27(月) 01:43:55.00ID:jVvzovDAごめん、今、真面目な話してるからどうでもいいレスは後にしてくれるかな?
0258デフォルトの名無しさん
2017/03/27(月) 01:45:21.59ID:GePKDk09エラい人に「あの人の言ってることは実装不能です」とナシつけてから
お前に「こういう仕様は実装不能です」っていうんじゃないかなあ
「現実的じゃない」じゃなくて、テクニカルな意味で実装不能ならそういう
現実的じゃない、程度なら普通に実装できる(方法があるんならなんだってやれるよ)
とりあえず自称SEのウンコなのはわかったから失せてくれよ
0259デフォルトの名無しさん
2017/03/27(月) 01:45:36.75ID:jVvzovDA>プログラミングだとドアが人間にメッセージ送って"ドアが人間に認識させなければならない
そのMUSTがおかしいじゃんって話してんだけど
出来ないなら仕方ないけど、出来るじゃん。
0260デフォルトの名無しさん
2017/03/27(月) 01:45:49.32ID:hxVTicGOいや前スレとかそんなもん関係ないやろ
オブジェクト指向を現実世界のモノと捉え過ぎるのは良くないって話だから
現実のドアは喋らないけどプログラ厶のドアは喋らなきゃいけないのよ。プログラムの仕様上
0261デフォルトの名無しさん
2017/03/27(月) 01:46:37.17ID:GePKDk09お前をどっかに逝かせてこのスレを終わらせるのが俺の目的だ
失 (失せろカスの略)
0262デフォルトの名無しさん
2017/03/27(月) 01:51:24.23ID:hxVTicGO人間が複数の鍵を持っててドアに合う鍵は一つならドアは人間に対して返答しなきゃならん
これは駄目これは良しと
現実世界に喩えるには限界があるやろ
0263デフォルトの名無しさん
2017/03/27(月) 01:51:26.01ID:jVvzovDA> オブジェクト指向を現実世界のモノと捉え過ぎるのは良くないって話だから
「良くない」とか、お前個人の意見は知らない。
そう言いたいなら、お前が札束握って発注出来る立場になって。
今回の発注者は前スレのこれ
> 要件
> >>422-423
>
> 追加案件
> >>592 ←これ間違ってるぞ 正しくは >>577-578
それが出来なければ、どんなに御託をならべようと、You are fired.
0264デフォルトの名無しさん
2017/03/27(月) 01:51:53.08ID:8CT7MInZ学者さんのわけがない。
>>185や>>209を見ると現実と切り離して整理したモデリングが出来ない。
古いオブジェクト指向入門本を読み終えたばかりの初心者と見た。
オブジェクト指向ソフトウェアを完成させた経験はまずないだろう。
「憂鬱なプログラマのためのオブジェクト指向開発講座」でも読んだのかな?
ID:jVvzovDAは「オブジェクト指向のこころ」で再入門すべきだと思う。
0265デフォルトの名無しさん
2017/03/27(月) 01:52:15.55ID:jVvzovDA> 人間が複数の鍵を持っててドアに合う鍵は一つならドアは人間に対して返答しなきゃならん
なんで?
0266デフォルトの名無しさん
2017/03/27(月) 01:52:54.06ID:jVvzovDA> これは駄目これは良しと
> 現実世界に喩えるには限界があるやろ
何の限界? お前の限界じゃん
0267デフォルトの名無しさん
2017/03/27(月) 01:54:33.97ID:hxVTicGO鍵が合わないなら鍵が合わない事を人様にドアが伝えなきゃならんからやな
0268デフォルトの名無しさん
2017/03/27(月) 01:55:01.23ID:GePKDk09なんでもかんでもメンバ変数が * してるところだけはアレだけど
説明はイケてるよな、「憂鬱」
0269デフォルトの名無しさん
2017/03/27(月) 01:55:48.14ID:jVvzovDA> 鍵が合わないなら鍵が合わない事を人様にドアが伝えなきゃならんからやな
おまえんちのドア、教えてくれるん?
おまえ、ドアが教えてくれないと理解できないん?
0270デフォルトの名無しさん
2017/03/27(月) 01:56:45.28ID:jVvzovDAん? お前、障害者の人やったん?
0271デフォルトの名無しさん
2017/03/27(月) 01:57:05.44ID:jVvzovDA>>267
ん? お前、障害者の人やったん?
0272デフォルトの名無しさん
2017/03/27(月) 01:57:29.00ID:vQHLMr9cスッキリわかる Java入門 第2版、2014
読むといいよ
0273デフォルトの名無しさん
2017/03/27(月) 01:58:01.91ID:hxVTicGOこれ軽く見たけど別に機能が複数あるだけで整理が大変てだけの話やろ?
機能が複数あってもドアのリアクションはそれぞれ抽象化すればいんじゃね???
0274デフォルトの名無しさん
2017/03/27(月) 01:58:46.00ID:GePKDk09うん、鍵穴回らんでそ
0275デフォルトの名無しさん
2017/03/27(月) 01:59:36.16ID:jVvzovDA0276デフォルトの名無しさん
2017/03/27(月) 02:00:48.64ID:jVvzovDAおまえ、鍵が回らなかっとこと、認識できないん? やっぱ障害者の人やったん?
そしたらそれは class UniversalDoor extends Door {}
しないとダメだよ、別クラスの話
0277デフォルトの名無しさん
2017/03/27(月) 02:01:05.38ID:hxVTicGOああ、教えてくれるぞ。鍵穴に別の鍵入れたらガチガチ言って鍵穴回ってくれないからな
ドアのリアクションを見てこれは違う鍵だなと俺は判断するな
お前もドアをプログラミングするときはドアのリアクションを書かなきゃいかんぞ
0278デフォルトの名無しさん
2017/03/27(月) 02:01:15.32ID:GePKDk09さんざん煽っておいて code plz とかざけんな
ほら書かんだろこいつ
俺はrubyでアホみたいなコード書いたが(前スレのネタ)、そういうバカすらしねえ
0279デフォルトの名無しさん
2017/03/27(月) 02:01:39.01ID:jVvzovDAは、教えてくれるメソッド持っててもいいよ、もちろん。
0280デフォルトの名無しさん
2017/03/27(月) 02:02:17.76ID:jVvzovDAごめん、おまえのレス見てなかった。なんで怒ってるの?
0281デフォルトの名無しさん
2017/03/27(月) 02:03:58.56ID:hxVTicGO難しく考え過ぎよドアのリアクションの親クラス作れ
で、delegateにドアのリアクションメソッドを書け
細かい事はその中に全部投げろ。何ならドアのリアクションオブジェクトまで作って継承させろ
0282デフォルトの名無しさん
2017/03/27(月) 02:04:44.69ID:jVvzovDA> ああ、教えてくれるぞ。鍵穴に別の鍵入れたらガチガチ言って鍵穴回ってくれないからな
おまえさ、それ、ドアが自分で鳴ってるんだと思ってるん?
違うよ。言ったじゃん、お前の世界は現実世界に比べて何かが欠けてるんじゃね?
>ドアのリアクションを見てこれは違う鍵だなと俺は判断するな
判断してるのは“ドア”のリアクションじゃねーわけさ。
> お前もドアをプログラミングするときはドアのリアクションを書かなきゃいかんぞ
UniversalDoorには書くよ?
0283デフォルトの名無しさん
2017/03/27(月) 02:05:33.68ID:GePKDk09お前が真剣に問題に取り組もうとしていないからだ
自分が解決せにゃならん、とハラをキメてコード書いた経験がないように見えるから
そういう態度だきゃあ腹が立つんだよ
アマチュアならどっかで寝言ぶっこいてろカス
0284デフォルトの名無しさん
2017/03/27(月) 02:06:16.64ID:vQHLMr9c鍵穴が回らないってのはドアのリアクションだろ
boolean open(key){〜}
0285デフォルトの名無しさん
2017/03/27(月) 02:06:42.72ID:hxVTicGOいやドアのリアクションだろ
それ見らなきゃあっ!鍵間違えてる!ってならんわ
0286デフォルトの名無しさん
2017/03/27(月) 02:07:04.94ID:jVvzovDA> 難しく考え過ぎよ
いや、お前が楽天的過ぎるだけだ
>ドアのリアクションの親クラス作れ
>で、delegateにドアのリアクションメソッドを書け
>細かい事はその中に全部投げろ。何ならドアのリアクションオブジェクトまで作って継承させろ
そろそろ真面目に答えるけど、大喜利のお題目守れないバカは参加する資格ねーよ
0287デフォルトの名無しさん
2017/03/27(月) 02:08:15.96ID:jVvzovDA-----------------------------------------------------------------------------
前スレ >>422 : デフォルトの名無しさん2017/03/24(金) 13:02:26.33 ID:3PUwYYlD
現実の構造を表現するなら、連想配列のほうが表現力は上だよね
君がいったドアの例の延長で行くぞ
現実世界で使えるレベルのモデリングを提起する
-----------------------------------------------------------------------------
0288デフォルトの名無しさん
2017/03/27(月) 02:09:03.29ID:zW6KwjjJ決まってないんだから、このスレの大体のコードは正しい
もっと例題に条件をつけないと、そのコードはおかしいとかもっといいやり方があるとか語れる
現実を例に出すと、各々が暗黙的に想定していることが違って齟齬を生むよ
例題:
あるオブジェクトaと、それを引数にとる処理pがある。
aによく似たオブジェクトa'やa''が後々追加される可能性があり、これらも処理pにかけたい。
又、新たな処理p'も追加される可能性がある。p'はaやa''を引数に取りたい
aの型(あるいはクラス)Aやpを定義した時のコードは変更できない場合、どのようにAやpを定義するべきか
0289デフォルトの名無しさん
2017/03/27(月) 02:09:10.66ID:GePKDk09技術論を真剣にやる気がないなら失せろって言ってんだろ
マジメにやってる連中に無礼だと思わないのか
0290デフォルトの名無しさん
2017/03/27(月) 02:09:44.90ID:jVvzovDA> 鍵穴が回らないってのはドアのリアクションだろ
ドアがリアクションすると、本気で思ってるのか、ゴミカス
0291デフォルトの名無しさん
2017/03/27(月) 02:09:49.55ID:hxVTicGO完璧過ぎる回答だろう
あの複雑な内容に親クラス作ってdelegateに全部投げろってまさにオブジェクト指向らしい我ながら完璧な回答だわ
0292デフォルトの名無しさん
2017/03/27(月) 02:10:38.16ID:jVvzovDAおまえは寝てていい
0293デフォルトの名無しさん
2017/03/27(月) 02:11:34.00ID:jVvzovDA> 完璧過ぎる回答だろう
脳味噌がお花畑の奴にとってはな。
0294デフォルトの名無しさん
2017/03/27(月) 02:11:56.48ID:GePKDk09逝ってよし
0295デフォルトの名無しさん
2017/03/27(月) 02:13:13.22ID:jVvzovDA0296デフォルトの名無しさん
2017/03/27(月) 02:13:22.05ID:vQHLMr9c思ってるよ
おまえはゴミカスの俺より想像力が欠如してるんだろうな
0297デフォルトの名無しさん
2017/03/27(月) 02:15:20.87ID:jVvzovDAそうだろうな、流石にオレでも普通のドアが自分自信の状態教えてくれるなんて妄想は抱けん。
お前はきっと天の声も聞こえるだろう。そうだ、お前は最強だ。おめでとう。
0298デフォルトの名無しさん
2017/03/27(月) 02:15:38.80ID:hxVTicGOあれ以上の回答思い付かないな
機能を溜め込んだ箇所への適切な対処。てかこれ以外の方法あんの?
0299デフォルトの名無しさん
2017/03/27(月) 02:16:14.65ID:jVvzovDA0300デフォルトの名無しさん
2017/03/27(月) 02:16:29.15ID:GePKDk09お前の望みを完璧に実現する奴隷じゃないわけ
そんなんでなければ技術者やれんぜ
0301デフォルトの名無しさん
2017/03/27(月) 02:16:49.52ID:jVvzovDA> 293
> あれ以上の回答思い付かないな
> 機能を溜め込んだ箇所への適切な対処。てかこれ以外の方法あんの?
あるにきまってんだろ、バカ
0302デフォルトの名無しさん
2017/03/27(月) 02:17:08.53ID:hxVTicGOああ俺もドアの声が聞こえるなんて馬鹿な妄想は抱けんわ流石に
0303デフォルトの名無しさん
2017/03/27(月) 02:17:34.75ID:jVvzovDA> ともかく、俺らは現実の問題を解決するのが生きがいのクソッタレであり
真っ先に現実の問題から逃避しといて何言ってんだよ
0304デフォルトの名無しさん
2017/03/27(月) 02:17:50.49ID:vQHLMr9cありがとう
正直おまえと一緒に仕事してなくて良かったと感じてるよ
リアルだったら喧嘩になるもん
0305デフォルトの名無しさん
2017/03/27(月) 02:18:03.96ID:jVvzovDAお ま え が い っ た ん だ ろ !
0306デフォルトの名無しさん
2017/03/27(月) 02:18:24.57ID:hxVTicGO無理無理炎上がオチ
0307デフォルトの名無しさん
2017/03/27(月) 02:18:58.80ID:jVvzovDA> >297
> ありがとう
>
> 正直おまえと一緒に仕事してなくて良かったと感じてるよ
> リアルだったら喧嘩になるもん
喧嘩じゃなくて、おまえ、クビ
おれじゃなくても、おまえ、クビ
0308デフォルトの名無しさん
2017/03/27(月) 02:19:56.30ID:vQHLMr9c誰もドアが声を出すなんて言ってないよ
おまえが言い出したんだよ
リアクションが発声のみと思ってるのなら残念賞
0309デフォルトの名無しさん
2017/03/27(月) 02:20:39.15ID:jVvzovDAお前に無理だからって、全員無理だとおもうなよ…
まともなやつはおまえらなんか相手にしてねーよ…
なんでオレが相手にしてるとおもってんだよ…
暇つぶしにきまってんじゃねーか…
0310デフォルトの名無しさん
2017/03/27(月) 02:20:44.53ID:GePKDk09「あるにきまってんだろ、バカ」
と書いてくださりました
実装を待とうぜ! マジ期待age!
0311デフォルトの名無しさん
2017/03/27(月) 02:20:46.19ID:vQHLMr9cあー大丈夫
おまえにそんな権限与えるような会社は作らないから
0312デフォルトの名無しさん
2017/03/27(月) 02:22:22.02ID:hxVTicGOおいおいまさかセキュリティセンターみたいな所のカードキーで開いて"認証ニセイコウシマシタ"とかいうドアと勘違いしてるんじゃないだろうな
アナログの鍵で開く普通のドアだぞ
0313デフォルトの名無しさん
2017/03/27(月) 02:22:46.37ID:GePKDk09実装できないならお前マじゃないしSEですらないぞ
俺らはそう判断する
どうするね、失せるかコード書くか、どっちかだよ
御託はいらね
やれないなら消えな
0314デフォルトの名無しさん
2017/03/27(月) 02:23:51.37ID:jVvzovDA> リアクションが発声のみと思ってるのなら残念賞
回らないってことがリアクションだと思ってるなら、お前が残念賞
“自発的に”回らなかったことがリアクションならわかる
おまえのドアキーは、『回るまい』という意思をもってるのか?
それ、おまえ、きらわれてんだよ
0315デフォルトの名無しさん
2017/03/27(月) 02:24:59.58ID:hxVTicGOあんな機能量でdelegateに投げない奴がそんな仕事出来る時点でおかしいし
そもそもそれならオブジェクト指向使う意味ねーって話になるしな全部本末転倒よ
0316デフォルトの名無しさん
2017/03/27(月) 02:25:49.67ID:jVvzovDA> >305
> おいおいまさかセキュリティセンターみたいな所のカードキーで開いて"認証ニセイコウシマシタ"とかいうドアと勘違いしてるんじゃないだろうな
> アナログの鍵で開く普通のドアだぞ
なおさらおまえばかだろ、上の文こそリアクション有ってもあたりまえじゃねーか
0317デフォルトの名無しさん
2017/03/27(月) 02:26:37.02ID:GePKDk09× それ、おまえ、きらわれてんだよ
〇 それ、お前、嫌われてんだよ
日本語すら正しく使えないのか? 意味があってヒラガナ化してんのか?
ひらがなに「開いた」(漢字で表記するのが一般的な文言をひらがなにした)理由を説明してみな
0318デフォルトの名無しさん
2017/03/27(月) 02:28:15.72ID:jVvzovDA> >309
> あんな機能量でdelegateに投げない奴がそんな仕事出来る時点でおかしいし
なんか必死にでりげーとでりげーと言ってるけど、そんなHOWの部分、
ほんとどーでもいいにきまってんだろ
お題目の「現実世界で使えるレベルのモデリングを提起する 」
が守れね―奴は全員バカなわけさ
おまえ、バカなわけさ
死ね
0319デフォルトの名無しさん
2017/03/27(月) 02:28:47.44ID:vQHLMr9c自発的なら「アクション」だよ
こちらから何かをした結果を返すのが「リアクション」
人:ドアノブを回す ←アクション
ドア:鍵かかってるから開かない ←アクションに対するリアクション
0320デフォルトの名無しさん
2017/03/27(月) 02:29:13.84ID:hxVTicGOオブジェクト指向ってオブジェクト同士の対話だからな
ドアクラスやドアオブジェクト作った時点で人間オブジェクトとのリアクションあって当たり前やがな
0321デフォルトの名無しさん
2017/03/27(月) 02:29:34.18ID:jVvzovDA> 日本語すら正しく使えないのか? 意味があってヒラガナ化してんのか?
分かってんなら聞くなよ
おまえがアホすぎて変換するのもめんどくさいからわざとひらがなにしてるに決まってんだろ
正確に言うならめんどくさいから変換してない、だ
0322デフォルトの名無しさん
2017/03/27(月) 02:30:50.86ID:jVvzovDA> 自発的なら「アクション」だよ
> こちらから何かをした結果を返すのが「リアクション」
誰目線の話をしてんだよ
0323デフォルトの名無しさん
2017/03/27(月) 02:30:57.27ID:GePKDk09二人目か同一人物か知らんけど
「HOWの部分、
ほんとどーでもいい」
お前は技術者なんかじゃない
どうにかするのが技術者の使命だからだ
失せろカス
0324デフォルトの名無しさん
2017/03/27(月) 02:32:22.80ID:vQHLMr9c言葉の意味すら分かってなさそうなおまえ目線だよ
0325デフォルトの名無しさん
2017/03/27(月) 02:32:38.94ID:hxVTicGOどーでもいいどころかそのワード一つで解決策提示し終わったんだからお前のお題それで終わりだろ
お前のお題クリアーして終わったんだから褒めたり感想言ったりはよ
0326デフォルトの名無しさん
2017/03/27(月) 02:32:52.86ID:jVvzovDA> ドア:鍵かかってるから開かない ←アクションに対するリアクション
だーから、ドアはなんにもしてねーっていってんだらーー
お前の世界は現実世界に比べて何かが欠けてるんだってばよー!
0327デフォルトの名無しさん
2017/03/27(月) 02:33:09.83ID:hxVTicGOオブジェクトやな
0328デフォルトの名無しさん
2017/03/27(月) 02:34:17.08ID:jVvzovDA< お前のお題クリアーして終わったんだから
どうどうめぐりだよ、バカ
前スレの
422 : デフォルトの名無しさん2017/03/24(金) 13:02:26.33 ID:3PUwYYlD
に聞いてミロ
お前がそいつなら、お題挙げた奴が狂ってて、それこそ終了だ
0329デフォルトの名無しさん
2017/03/27(月) 02:34:19.26ID:hxVTicGOいやドアは何かするんだっての
それがお前の間違いやな
0330デフォルトの名無しさん
2017/03/27(月) 02:35:27.77ID:jVvzovDAID:hxVTicGO
∩_
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ 初めてのキチガイ認定!
/ __ ヽノ /
(___) /
0331デフォルトの名無しさん
2017/03/27(月) 02:35:35.44ID:hxVTicGO堂々巡りならどう間違ってるのか言わなきゃ分かりませんなぁ
0332デフォルトの名無しさん
2017/03/27(月) 02:35:37.03ID:vQHLMr9cその「何か」を明確に提示できるの?
0333デフォルトの名無しさん
2017/03/27(月) 02:35:40.18ID:GePKDk09名古屋県民? 愛知県ってのが適切だろうが……
0334デフォルトの名無しさん
2017/03/27(月) 02:36:02.38ID:jVvzovDAあー、おまえんちのドアは勝手に動くのね、すごいすごい
0335デフォルトの名無しさん
2017/03/27(月) 02:37:04.34ID:jVvzovDA> >328
> 堂々巡りならどう間違ってるのか言わなきゃ分かりませんなぁ
これだけ説明してわかんねーなら、おまえが納得する答えはねーよ、池沼
0336デフォルトの名無しさん
2017/03/27(月) 02:37:50.23ID:hxVTicGOなあもし俺の家が本当に開くドアだったらどうする??
一応現実にそんなドアは存在する訳ではあるんだが
0337デフォルトの名無しさん
2017/03/27(月) 02:38:03.69ID:vQHLMr9c人が動かすからドアは動くんだよ
何でこんなことも説明しなきゃならないのか
0338デフォルトの名無しさん
2017/03/27(月) 02:39:22.22ID:hxVTicGOそれつまり俺の答えが合ってんだよきっと
お前が間違えてるって変な先入観で思い込んでるだけよ
0339デフォルトの名無しさん
2017/03/27(月) 02:39:32.24ID:jVvzovDA> >326
> その「何か」を明確に提示できるの?
おまえに聞く耳があるならな、
ただし、
http://echo.2ch.net/test/read.cgi/tech/1488928012/820
コイツが晒してからだ。そういう約束だからな
0340デフォルトの名無しさん
2017/03/27(月) 02:40:19.06ID:jVvzovDAあってるよ、おまえん中ではな。だから堂々巡りだ。
0341デフォルトの名無しさん
2017/03/27(月) 02:40:34.89ID:GePKDk09自動ドアあるじゃん、イオンの
近づいたら向こうが勝手に開いてくださるアレ
なんかもうメチャクチャにしてやったほうが面白い気がしてきた
0342デフォルトの名無しさん
2017/03/27(月) 02:42:17.93ID:GePKDk09後で考え直して「んー?」って思い返してからわかることもあるしな
0343デフォルトの名無しさん
2017/03/27(月) 02:43:03.66ID:jVvzovDAお前そろそろ、話に参加出来るレベルでは無い事を理解した方外良い >>276
0344デフォルトの名無しさん
2017/03/27(月) 02:45:20.66ID:GePKDk09方外良い
なんて誤タイプする人に言われたかねぇな
もしかして: 方が良い
よっぽどのクソでないならこんなあげつらいはしねぇが
0345デフォルトの名無しさん
2017/03/27(月) 02:45:51.26ID:hxVTicGO違うよ。俺はお前の問の答えを出してるんだからお前は何か言わなきゃいけないのにそれが無いって事はお前は知らない内に
自分の間違いに気付いてないってだけよ。お前が反論すれば堂々巡りが終わるのにお前がそれをしないって事が答えでもあるのよ
0346デフォルトの名無しさん
2017/03/27(月) 02:46:25.41ID:Z7V+LHTb延々と議論し続けるのは滑稽だとは思わんかね?
0347デフォルトの名無しさん
2017/03/27(月) 02:47:53.96ID:0g9Nny9tついに選ばれし者のみの所業になってきたな!
0348デフォルトの名無しさん
2017/03/27(月) 02:48:15.20ID:GePKDk09できないならマ板か情シス板にでもいくか、逝ってよし
ってところかなぁ
0349デフォルトの名無しさん
2017/03/27(月) 02:49:14.66ID:vQHLMr9cそれは俺となんの関係もないから安心して提示してくれていいよ
0350デフォルトの名無しさん
2017/03/27(月) 02:49:27.64ID:hxVTicGO実在しないならまだしもお題が猫とドアてのが悪すぎる
猫のドアの命令文法とか糞どうでもいい話しか始まらんしな
抽象的な振る舞いに関する話ゼロだぞオブジェクト指向なのに
0351デフォルトの名無しさん
2017/03/27(月) 02:49:56.41ID:jVvzovDA> >340
> 違うよ。俺はお前の問の答えを出してるんだからお前は何か言わなきゃいけないのにそれが無いって事はお前は知らない内に
> 自分の間違いに気付いてないってだけよ。お前が反論すれば堂々巡りが終わるのにお前がそれをしないって事が答えでもあるのよ
プログラマってこう、いびつな理論を展開するけど、
ものすごく分かりやすく言うと、
現実世界でありえない「ドアがなんらかの方法で鍵が合っていないことを教えてくれる」メソッドを実装してる時点で
狂っているという事がわからないバカには、何言っても無駄
0352デフォルトの名無しさん
2017/03/27(月) 02:50:47.06ID:GePKDk09ぬこさんモフってるほうがしあわせ
0353デフォルトの名無しさん
2017/03/27(月) 02:51:18.37ID:vQHLMr9c「ドアがなんらかの方法で鍵が合っていないことを教えてくれる」メソッド
↓
開かない
0354デフォルトの名無しさん
2017/03/27(月) 02:51:22.07ID:jVvzovDA> 実在しないドアと猫について
> 延々と議論し続けるのは滑稽だとは思わんかね?
思ってるよ
だって、ドアがなんか教えてくれるって本当に思っちゃってるバカ相手にしてんだもん
こんな茶番あるかよ?
0355デフォルトの名無しさん
2017/03/27(月) 02:52:28.45ID:jVvzovDA>>351
「ドアがなんらかの方法で鍵が合っていないことを教えてくれる」メソッド
↓
開かない
------------------------------------------
だって
それはただ、開けようとした側が勝手に認識してるだけ。
ひょっとしたら、ドアは心があって、自分は開いたと思ってるかもしれないのにね
0356デフォルトの名無しさん
2017/03/27(月) 02:52:41.43ID:GePKDk09「ドアがなんらかの方法で鍵が合っていないことを教えてくれる」メソッドを実装してる
お前MIWAに土下座しろよ、合わない鍵なら開かないと手ごたえで教えてくれる
0357デフォルトの名無しさん
2017/03/27(月) 02:53:11.63ID:hxVTicGOだから言ったろ現実世界で例えるのは無理があるって
でもドアは絶対開くとは限らないんだぞ??
0358デフォルトの名無しさん
2017/03/27(月) 02:53:36.46ID:jVvzovDA> >346
> ぬこさんモフってるほうがしあわせ
ああ、そうだよ、おまえは好きなだけモフれよ
おれはこのアホの相手を眠くなるまで続けるから
0359デフォルトの名無しさん
2017/03/27(月) 02:54:25.01ID:vQHLMr9c割とロマンチストなのね
0360デフォルトの名無しさん
2017/03/27(月) 02:54:33.68ID:jVvzovDA> >351
>だから言ったろ現実世界で例えるのは無理があるって
ねーって何回いわせんだ、池沼
>でもドアは絶対開くとは限らないんだぞ??
あたりまえだろ、そんなこと織り込み済みだ、死ね
0361デフォルトの名無しさん
2017/03/27(月) 02:56:00.40ID:hxVTicGOドアが口から声に出して喋る訳ねーだろ馬鹿じゃないのか??
0362デフォルトの名無しさん
2017/03/27(月) 02:56:08.94ID:GePKDk09誰これとか知らないとか言ってた御大がこのレス、びっくりね
知らないで押し通すほうがすがすがしい
知らないで押し通しな
知らないで押し通すという覚悟を示せ、そうでなければ面白くもないわ
0363デフォルトの名無しさん
2017/03/27(月) 02:57:56.89ID:jVvzovDA> もしかしてメソッドというものを口から声に出して喋る行為と勘違いしてるのか??
し て ね ぇ よ
お前は下らん妄想は、本当にすんな
天からの声が聞こえても、聞こえなかったふりしてろ、吉がい
0364デフォルトの名無しさん
2017/03/27(月) 02:58:41.17ID:hxVTicGOドアは口は無くて喋れないから意思の疎通は出来ないが
鍵穴はあるから指定の相手しか解錠してくれないのは知ってるよな???
0365デフォルトの名無しさん
2017/03/27(月) 02:59:04.12ID:GePKDk09吉がい
俺らの幸福を祈ってくれてるんやで……この先生ツンデレや……!
0366デフォルトの名無しさん
2017/03/27(月) 03:00:33.56ID:hxVTicGOいやしてるだろ!ドアはリアクションしないってそりゃあ確かにドアはこの鍵じゃ通す事は出来ませんとか声に出してリアクションしないわ
ドアは喋るって勘違いしてるだろお前!
0367デフォルトの名無しさん
2017/03/27(月) 03:00:49.74ID:jVvzovDA0368デフォルトの名無しさん
2017/03/27(月) 03:01:36.51ID:jVvzovDA「比喩」知らねーバカに話すことはねーよ
0369デフォルトの名無しさん
2017/03/27(月) 03:02:43.48ID:jVvzovDAもう一度言っとくけど、ID:hxVTicGO お前、最強。話通じないという点において
0370デフォルトの名無しさん
2017/03/27(月) 03:02:49.70ID:hxVTicGOok?
0371デフォルトの名無しさん
2017/03/27(月) 03:03:42.97ID:vQHLMr9cありがとう
バカからバカみたいな内容でほめられてもうれしくはないけどありがとう
0372デフォルトの名無しさん
2017/03/27(月) 03:04:12.94ID:hxVTicGOドアは喋らないし、みんなドアは喋らないって思ってるから変な勘違いやめろよ皆迷惑だぞ気を付けろよ
0373デフォルトの名無しさん
2017/03/27(月) 03:04:18.32ID:GePKDk09比喩は近似であり、近しい物事を例示して相手に理解してもらおうとする試みだ
相手に完全な理解を求めるものではなかろう
少なくともたかが誤タイプを比喩というのは無理があるな
0374デフォルトの名無しさん
2017/03/27(月) 03:04:25.37ID:Z7V+LHTbさらに扉の向こうにいる猫について教えてくれたらどうよ?
こういうことならわからんでもない
0375デフォルトの名無しさん
2017/03/27(月) 03:04:35.87ID:vQHLMr9cおやすみ(o゚▽゚)o
もう目覚めないことを祈ってるよ♪
0376デフォルトの名無しさん
2017/03/27(月) 03:07:39.52ID:hxVTicGOドアは喋れないからメソッド追加しないみたいな言い方してたな
0377デフォルトの名無しさん
2017/03/27(月) 03:10:14.91ID:GePKDk09いいよ
しゃべるドアってのもかわいいだろうし
……まあ、専門家にわかるよう配慮してれば、彼らは直してくれるよ
Chefのように「例えで書いてる」ってわかる表現ならだけど
0378デフォルトの名無しさん
2017/03/27(月) 03:10:35.38ID:LarKYmAiドアが開くなら、ドアに開くメソッド追加だ
だが猫にそのメソッドを追加するのはありえないw
0379デフォルトの名無しさん
2017/03/27(月) 03:14:52.63ID:Z7V+LHTbPersonクラスのbobは、bob.OpenDoorメソッドを使い
doorを開けようとしたが、falseが返ってきて開かなかった。エラー!
どうやらdoorは壊れていて開けられないらしい・・・
door.Enable = false
向こうの部屋には、
Catクラスのtamaがいるが、当然入ることが出来ないので
tamaの様子を知ることが出来ない。
なので、doorを通じてtamaの様子を教えてもらった
door.CheckRoomメソッドによって。
元気ではあるが、どうやら寝ているだけらしい
tama.IsSleeping = true
めでたしめでたし!
めっちゃわかりやすくね?
0380デフォルトの名無しさん
2017/03/27(月) 03:16:40.44ID:LarKYmAiバラが「赤ですー」って喋ってくれるわけじゃない。
これらは状態。他のオブジェクトから認識できる状態。
オブジェクトが持っているものはメソッドだけじゃない。
状態も持っている
0381デフォルトの名無しさん
2017/03/27(月) 03:17:33.85ID:GePKDk09明日の朝イチに鍵屋さん呼んでこないと不安になりそ
うちのぬこさんが心配、みたな
0382デフォルトの名無しさん
2017/03/27(月) 03:18:55.66ID:1MxFwM/Bメソッドは動詞
状態は形容詞
くらいのサクッとした認識でいいのかもしれない
0383デフォルトの名無しさん
2017/03/27(月) 03:19:35.61ID:GePKDk09全部をグローバル変数にできるほど我々は頭良くない
という制限かもしれねー
統計的には、変数は7コまでしか覚えてられねーから(Code Completeを参照のこと)
0384デフォルトの名無しさん
2017/03/27(月) 03:21:22.12ID:Z7V+LHTbbobの部屋、密室だからな
まず自分が脱出しないとだからな
0385デフォルトの名無しさん
2017/03/27(月) 03:22:54.33ID:GePKDk09いつも考えすぎて寝る機会を逸する
最後のマイスリーで意識が落ちてくれりゃあ、明日イケてる先生から眠剤ちょうだいしてしのげるわけだが
さてそんなの書いたら暴言食らいそうだな
0386デフォルトの名無しさん
2017/03/27(月) 03:23:21.90ID:hxVTicGOドアが鍵に対して開くかどうかはドアオブジェクトのメソッド以外持ちようがないのに
0387デフォルトの名無しさん
2017/03/27(月) 03:24:42.69ID:Z7V+LHTb乱数でミスする場合も、自分が怪我することもあるし
bob.HP -= 20
体力消費すっかんな
0388デフォルトの名無しさん
2017/03/27(月) 03:25:18.11ID:GePKDk09ああ、ボブが出れなかったのか orz 夜中だとダメだな……すまんね
0389デフォルトの名無しさん
2017/03/27(月) 03:27:09.16ID:Z7V+LHTb偽造キー使ったら、警告発する
あるいは通報する、ってメソッドならありじゃね?
0390デフォルトの名無しさん
2017/03/27(月) 03:30:40.87ID:GePKDk09俺はやったことないけどさ、相手の鯖落とすときは
「メソッド以外持ちようがない」
なんてのを裏返すバグを叩く
そうだ
俺は低能だからしたことねぇよ、たかがemacsのlisp程度でもできたことがあるらしいけど知らんわ
0391デフォルトの名無しさん
2017/03/27(月) 03:30:55.03ID:8CT7MInZhttp://echo.2ch.net/test/read.cgi/tech/1488928012/422-423
http://echo.2ch.net/test/read.cgi/tech/1488928012/577-578
前スレ422-423と577-578の要件を整理した。
1 下記機能をオプションとして持つドアを設計せよ
(a)ドアストッパー
(b)ドアクローザー
(c)ドアの向こう側を目視できるガラス
(d)内部から外部の一方通行のみ目視できるのぞき穴
2. 1.で行ったクラス設計を破壊せずに下記性質を追加せよ
(e)異なる耐火性
(f)異なる開閉重量
(g)鍵がついており、サムターンか電子錠である
(h)異なる遮音性
(i)開き方は右開き左開き、内開き外開きスライドのいずれもありえる
(j)ドアノブはついていることもついてないこともある
3. 2.で行ったクラス設計を破壊せずに下記性質を追加せよ
(k)犬猫はドアノブを回転させることはできない
(l)犬猫はプッシュで動くドアなら、ある一定の重量以下で押すことができる
(m)数匹の犬猫が同時にドアを押すと合計重量で押すことができる(577-578で追加)
0392デフォルトの名無しさん
2017/03/27(月) 03:31:53.36ID:UxXnYzuGarray.length
array.map(fn)
array.reduce(fn)
array.join(“,”)
■cat.open(door)派
len(array)
map(fn, array)
functools.reduce(array, fn)
“,”.join(array)
0393デフォルトの名無しさん
2017/03/27(月) 03:35:42.18ID:Z7V+LHTb0394デフォルトの名無しさん
2017/03/27(月) 03:36:49.89ID:GePKDk09実に詳細なやり口をおしえてくだすったんで "You have a good brain! thanks!"とお返ししたとか
そんなんはあらーな
0395デフォルトの名無しさん
2017/03/27(月) 03:37:28.47ID:LarKYmAi簡単だな。
door.equipments() というメソッドを呼び出せば、
どのドアにどんなオプション(装備)を持っているかを取得できる
0396デフォルトの名無しさん
2017/03/27(月) 03:39:09.99ID:LarKYmAiこれも簡単だな。
doorにつけた装備によって、door自体の性質を
修正すればいい
プラグインという仕組みでよく用いられる方法だ
0397デフォルトの名無しさん
2017/03/27(月) 03:40:40.00ID:LarKYmAi簡単簡単。アクセス制限と同じようなもんだ。
こういったものはクラスに直接つけるんじゃなくて
割り込ませて制御するべきだろうな
0398デフォルトの名無しさん
2017/03/27(月) 03:54:38.56ID:LarKYmAi■door.open派
■cat.open(door)派
その2つは全く別のメソッドだろ。
cat.open(door)というのは
猫に対して何かをopenするという動作をするメソッドであり、
door.openはドアをopenするメソッド。
class Cat() {
function open(door) {
door.open()
}
}
このように組み合わせて使う
0399デフォルトの名無しさん
2017/03/27(月) 04:18:56.07ID:UxXnYzuGそれはそれで一つの考え方だけどdoor.open派に入るよ
cat.canOpen(door)
door.canOpenedBy(cat)
の場合でも同じようにするかどうか
cat.open(chair)や
cat.open(desk)の場合はどうするか
0400デフォルトの名無しさん
2017/03/27(月) 04:23:50.36ID:GePKDk09マイスリーをルネスタに変えてもらう時期か
ま、うまいこと凌いでイケてるコードを書けることを祈る
0401デフォルトの名無しさん
2017/03/27(月) 04:26:01.92ID:GePKDk09自称完璧なんて無理だべさ
やれることをやったんならよしとしよう
0402デフォルトの名無しさん
2017/03/27(月) 04:27:45.34ID:UxXnYzuGwarrior.canEquip(sword) vs sword.canEquip(warrior)
どういう武器なら装備できるのかを持ち主である戦士側で管理するのがいいのか
どういう属性の持ち主なら装備できるかを武器の側で管理するのがいいのか
もしくはその両方?
0403デフォルトの名無しさん
2017/03/27(月) 04:57:47.60ID:RTqWjQkD・犬がボールを取ってくる
現実世界の相互作用する2オブジェクト間のプログラミングは必修課題にすべき
普通の業務プログラミングやってると忘れる
みんなが覚えたらきっとゲームプログラマーふえる
0404デフォルトの名無しさん
2017/03/27(月) 07:27:34.69ID:6nDsbLzqこれで表現されてれば
良いんじゃない
ドアは猫に開けられる
とか考える人間は
ノーマルな人生歩んで来なかった
奴だから理解は永遠にできないよ
0405デフォルトの名無しさん
2017/03/27(月) 07:49:19.06ID:G8XHCg/Aにはどんな問題があるんだ?
0406デフォルトの名無しさん
2017/03/27(月) 07:56:56.37ID:zkHiCLH6とりあえず、引数の意味がまったくわからん
0407デフォルトの名無しさん
2017/03/27(月) 08:02:16.11ID:G8XHCg/A猫が押すように足を動かすと扉はあくか?
っていう
0408デフォルトの名無しさん
2017/03/27(月) 08:37:50.48ID:jVvzovDA馬鹿は黙ってればいいのに…
0409デフォルトの名無しさん
2017/03/27(月) 09:01:32.60ID:DZ7KBqWQお子ちゃまの群れだなぁと思う。
お子ちゃま何もかも新鮮に感じるからほほえましくもある。
0410デフォルトの名無しさん
2017/03/27(月) 09:09:15.00ID:jVvzovDA出てるよ馬鹿
お題読め馬鹿
死ね
0411デフォルトの名無しさん
2017/03/27(月) 09:18:56.12ID:sZk+Bubt0412デフォルトの名無しさん
2017/03/27(月) 09:19:50.27ID:DZ7KBqWQ日本の将来は暗いな。
0413デフォルトの名無しさん
2017/03/27(月) 10:36:18.63ID:Ylmj74EC0414デフォルトの名無しさん
2017/03/27(月) 11:12:03.84ID:AOUFcLHl417 :デフォルトの名無しさん :2017/03/24(金) 09:05:40.31 ID:LoToasEt
参考まで、『「ソフトウェア工学」は矛盾語法か?』 http://metatoys.org/oxymoron/oxymoron.html
でアラン・ケイは次のように述べている(この文書はもともとSqueakというSmalltalk処理系の宣伝用に書かれたものだが
彼が考案したメッセージングのオブジェクト指向(による遅延結合の徹底)という実験の成果の総括にもなっている)。
▼新しいアイデアを学ぶとはどういう事か?
このような柔軟な機能はどれだけ複雑である必要があるだろうか? 文法上は決して複雑で無くてもよい。
なじみ深い英語の語順である主語、動詞、目的語(よく前置詞や、たまに暗黙の主語を伴う)があれば全く十分だ。
オブジェクト指向の言い方で言うと、主語はメッセージのレシーバであり、文の残りはメッセージだ
(ここでは「動詞」(up, +, *, forward by, collect, Repeat do, to by) を強調して書く)。これで次のような読みやすい形式になる。
====================
3
‘this is some text’
pen up
3 + 4
3 * ( 4 + 5 )
car forward by 5
{1 2 3 4 5 6 7} collect [ n | n odd ]
Repeat (1 to 100 by 2) do [ ******* ]
====================
そして大切なのは、この単純な決まりに従って必要なだけ新しく読みやすい記法を作る事が出来る事だ。
これは、ユーザが文法と意味の関係を一つだけ念頭に置いておけば良い事を意味する。
====================
レシーバ メッセージ (レシーバが意味を把握している事を意味する)
====================
という事で、オブジェクトはただネットワーク上のピア・ピア・サーバのように考えられ、使われると考える。
(これは偶然ではなく、六十年代後期におけるARPAnet から Internet にかけての開発にさかのぼるアイデアを起源とする)。
0415デフォルトの名無しさん
2017/03/27(月) 11:27:06.34ID:LarKYmAi> なじみ深い英語の語順である主語、動詞、目的語(よく前置詞や、たまに暗黙の主語を伴う)があれば全く十分だ。
なじみ深い英語というのは複雑な文法なんだが
それが分かってないのかな?
シンプルな文法 = 数式 だよ。
馴染み深くはないが数式のほうがシンプル
英語を使うことでわかりやすいと勘違いした結果
COBOLという英語に近いが冗長な言語が出来てしまった。
0416デフォルトの名無しさん
2017/03/27(月) 11:34:21.01ID:jVvzovDAまだお前ら狂ってるってわかんえのは、もう、
お前らの脳みそが別の意味で芸術品って事なんだろうな
根本的に間違ってるよ、お前ら
0417デフォルトの名無しさん
2017/03/27(月) 11:40:05.40ID:LarKYmAi論理的な反論はできません
0418デフォルトの名無しさん
2017/03/27(月) 11:43:30.23ID:jVvzovDA前スレの「これ読んでからな」って言って逃げたバカ待ちだって何回言わせんだよ
俺に示して欲しかったらそいつ引きずり出せよ、将軍様
0419デフォルトの名無しさん
2017/03/27(月) 11:45:00.46ID:Sygej3yf100%近く同意
0420デフォルトの名無しさん
2017/03/27(月) 11:57:10.95ID:DZ7KBqWQ数学の勉強をある程度して、数式に詳しくなると「シンプルな文法 = 数式 だよ。」と急に言い出す。
0421デフォルトの名無しさん
2017/03/27(月) 12:05:14.28ID:P96KfG3+おまえ実は何もわかってないんだろ?
だから何も語らないように難癖付けて逃げまくってる
かわいそうになるだけだから黙った方がおまえのためだよ
素直に勉強した方がいいと思う
0422デフォルトの名無しさん
2017/03/27(月) 12:05:59.83ID:jVvzovDAこいつは多分さ、清い目でこれまでの書き込み内容を冷静に見れば本当は気づかなきゃおかしいんだよ
どれだけお前らが顔真っ赤になるくらい恥ずかしい事言ってたかって
目が濁っちゃってると、気づくものも気づかねーよな
0423デフォルトの名無しさん
2017/03/27(月) 12:07:36.57ID:jVvzovDAまだそんな事言ってる余裕があるなら
http://echo.2ch.net/test/read.cgi/tech/1488928012/820
はやくこいつ引きずり出してこい、使いっ走り
0424デフォルトの名無しさん
2017/03/27(月) 12:08:21.87ID:DZ7KBqWQちゅうに‐びょう〔‐ビヤウ〕【中二病】
思春期に特徴的な、過剰な自意識やそれに基づくふるまいを揶揄(やゆ)する俗語。
具体的には、不自然に大人びた言動や、自分が特別な存在であるという根拠のない思い込み、またはコンプレックスなどを指す。
名称は、その年代の子供が抱きがちな心理状態であることから、一過性の病気に見立てたもの。
0425デフォルトの名無しさん
2017/03/27(月) 12:10:05.65ID:P96KfG3+本当かわいそう
0426デフォルトの名無しさん
2017/03/27(月) 12:14:15.49ID:jVvzovDA0427デフォルトの名無しさん
2017/03/27(月) 12:17:48.43ID:P96KfG3+おれもそう思うよ
切にそう思うよ
0428デフォルトの名無しさん
2017/03/27(月) 12:21:51.33ID:jVvzovDA前スレの ID:yvUY9DOL
こいつ本物のバカだから、ある意味、清い目を持ってるんだろうな
無自覚に一言だけ、おまえらの誰よりも的確なこと言ってやがんのな。
あの時は大して気に留めてなかったけど、そこは褒めといてやるべきだったな。
0429デフォルトの名無しさん
2017/03/27(月) 12:28:13.49ID:wLrtvEW70430デフォルトの名無しさん
2017/03/27(月) 12:31:59.81ID:jVvzovDAじゃ、眩しいほどに頭禿げてる天才のお前が正しい答えを出してみせろよ
0431デフォルトの名無しさん
2017/03/27(月) 12:32:09.56ID:DZ7KBqWQ0432デフォルトの名無しさん
2017/03/27(月) 12:33:51.28ID:jVvzovDAへぇ、お前、ずっと鏡見てるのか。ナルシスだな
0433デフォルトの名無しさん
2017/03/27(月) 12:38:49.01ID:jVvzovDAな構図か…
0434デフォルトの名無しさん
2017/03/27(月) 12:39:59.60ID:jVvzovDA0435デフォルトの名無しさん
2017/03/27(月) 12:51:18.58ID:P96KfG3+自分の意見を言えずただただ周りを罵倒し続けるだけなんてどこかおかしいよ
必死に否定することで自我を保ってるようにしか見えない
悩みとかあるなら早めに解決しなよ
0436デフォルトの名無しさん
2017/03/27(月) 12:51:47.70ID:G8XHCg/AやさC
0437デフォルトの名無しさん
2017/03/27(月) 12:56:18.82ID:Sygej3yf0438デフォルトの名無しさん
2017/03/27(月) 12:58:35.76ID:G8XHCg/A0439デフォルトの名無しさん
2017/03/27(月) 13:02:49.88ID:jVvzovDA0440デフォルトの名無しさん
2017/03/27(月) 13:04:02.48ID:jVvzovDA> 自分の意見を言えずただただ周りを罵倒し続けるだけなんてどこかおかしいよ
100歩譲るが、助詞くらい正しく使えよ
> 自分の意見を言“わ”ずただただ周りを罵倒し続けるだけなんてどこかおかしいよ
0441デフォルトの名無しさん
2017/03/27(月) 13:05:29.36ID:P96KfG3+優秀なヤツはこんな時間にこんな所を見てる暇はないんだよ
本当に大丈夫?
こんな単純なことにも気付けなくなってるのはやばいと思うよ
0442デフォルトの名無しさん
2017/03/27(月) 13:07:10.39ID:P96KfG3+そうだね
ごめんね
言えないんじゃなくて言わないだけだったね
傷つけるつもりはなかったんだ
本当にごめん
0443デフォルトの名無しさん
2017/03/27(月) 13:07:16.18ID:jVvzovDA> そりゃそうだろ
> 優秀なヤツはこんな時間にこんな所を見てる暇はないんだよ
おまえ、自覚してたんなら良いよ
でもな、本当に優秀なら時間なんか自分で調整出来る立場にいるから昼夜関係ねーよ
優秀じゃねぇから必ず昼間働いてんだろ
0444デフォルトの名無しさん
2017/03/27(月) 13:08:30.52ID:G8XHCg/Aわざわざ平日に夜を選んでる人間が優秀とは思えんが
0445デフォルトの名無しさん
2017/03/27(月) 13:08:45.95ID:jVvzovDA“呆れる”という事がお前にとっては“傷つく”という事なのなら
おう、今度から気をつけろ
0446デフォルトの名無しさん
2017/03/27(月) 13:10:11.16ID:jVvzovDAバカは、実際にそういう立場になったことないからそんなアホなことを言う
選んでそうなるのではなく、何らかの他の理由でたまたまそうなるだけだ
0447デフォルトの名無しさん
2017/03/27(月) 13:12:04.34ID:jVvzovDAオレは優秀だから今この時間に書き込みしてるわけじゃねーぞ?
確かにオレは優秀だが、今書き込みしてるのはそれ故じゃない
0448デフォルトの名無しさん
2017/03/27(月) 13:13:11.92ID:G8XHCg/Aだからといって平日の昼間から2ちゃんに100レスもしちゃうような人が優秀とはとても思えん
うんこし終わったから仕事に戻るわ〜
0449デフォルトの名無しさん
2017/03/27(月) 13:28:24.62ID:Sygej3yf高度な内容を期待するのは場違いだ。
0450デフォルトの名無しさん
2017/03/27(月) 13:44:23.04ID:LarKYmAi0451デフォルトの名無しさん
2017/03/27(月) 14:12:33.49ID:ykyRge6V余計な事考えてねーで、優秀かどうかは内容で判断しろよ
オレがアホどもを否定している内容を見るだけで、アホどもとは違うって事くらいわかんだろ
0452デフォルトの名無しさん
2017/03/27(月) 15:24:27.03ID:9SfM+OHAいや、あるでしょ
よほど暇か頭がおかしくないかじゃないとこんなに書き込めないわ
0453デフォルトの名無しさん
2017/03/27(月) 15:49:22.87ID:DZ7KBqWQ0454デフォルトの名無しさん
2017/03/27(月) 17:25:03.87ID:Sygej3yfまあ暇は暇なんだろうけどそのためのbotを作って投稿してるんだとしたら優秀と言えるな(高度なギャグ)
0455デフォルトの名無しさん
2017/03/27(月) 17:39:37.95ID:LarKYmAi自分で高度なギャグって付け加えるのって
なんでだろう?
0456デフォルトの名無しさん
2017/03/27(月) 17:43:20.86ID:DZ7KBqWQ0457デフォルトの名無しさん
2017/03/27(月) 18:00:28.15ID:SyLROXpTなぜなのか?
0458デフォルトの名無しさん
2017/03/27(月) 18:09:41.80ID:DZ7KBqWQと答えればいいのか?
0459デフォルトの名無しさん
2017/03/27(月) 19:03:36.35ID:IKPiy9ZZそれ、面白いと思ったん?
0460デフォルトの名無しさん
2017/03/27(月) 19:38:13.41ID:SyLROXpT普通に作れるが。
なぜ作れないと思うのか?
0461デフォルトの名無しさん
2017/03/27(月) 19:41:47.97ID:Sygej3yfごめんよ
言わずにはいられなかったんだよ
0462デフォルトの名無しさん
2017/03/27(月) 19:42:10.59ID:zkHiCLH6なんでどこもかしこもその話にもってこうとする
0463デフォルトの名無しさん
2017/03/27(月) 20:31:19.34ID:lQg2+5AY他のスレには来るなよ、とくにIDの赤いの
0464デフォルトの名無しさん
2017/03/27(月) 20:40:50.20ID:SOnqeqD1それな
0465デフォルトの名無しさん
2017/03/27(月) 21:14:08.69ID:9ObHSaYA0466デフォルトの名無しさん
2017/03/27(月) 21:21:01.63ID:hxVTicGO0467デフォルトの名無しさん
2017/03/27(月) 21:24:32.69ID:7u/tydVPバカなの?
0468デフォルトの名無しさん
2017/03/27(月) 21:27:53.88ID:hxVTicGOアンチオブジェクト指向て関数型マニアしか思い付かない
0469デフォルトの名無しさん
2017/03/27(月) 21:50:30.81ID:8CT7MInZアンチオブジェクト指向の論理型マニアもいると思う。
関数型の場合はオブジェクトが参照透過性と型推論を制限する。
論理型の場合はオブジェクトを述語論理による推論に取り込みにくい。
0470デフォルトの名無しさん
2017/03/27(月) 22:07:42.67ID:zkHiCLH6一日働いて帰ってきたら悟りが開けていた
cat.open(door)
cat.getProperty()
dog.fetch(ball)
bigComplexDataClass.write(stream)
I open the door by cat
I get property from cat
I fetch ball by dog
I write to stream by bigComplexDataClass
実は主語は俺だったのだ
オブジェクトが主導権を握っているようで、じつは俺が言わないと誰も何もしはしない
猫がドアを開けるのも、犬がボールを取ってくるのも単に犬猫を物のようにつかっているだけのこと
俺が神だった
0471デフォルトの名無しさん
2017/03/27(月) 22:17:46.01ID:0g9Nny9t0472デフォルトの名無しさん
2017/03/27(月) 22:39:41.00ID:YT5BYYtA0473デフォルトの名無しさん
2017/03/27(月) 22:42:43.21ID:dtoY5Pke素直に札束持ってオレにお願いしたら?
0474デフォルトの名無しさん
2017/03/27(月) 22:48:20.78ID:E+FNp5P9mainメソッドから呼び出されたメインストリームは自分が意図した動きをする様に
つくり込むわけだから、使うクラスをinstantiateしているのは「俺」といえるかもね
0475デフォルトの名無しさん
2017/03/27(月) 22:51:01.97ID:dtoY5Pkeんな事してる暇あったらとっととキャットドア設計完了させろよ
0476デフォルトの名無しさん
2017/03/27(月) 22:59:16.99ID:2Upo6u3v何回も摂取することで段階的に効く遅効性の毒になってるらしいな。
0477デフォルトの名無しさん
2017/03/27(月) 23:13:30.45ID:zkHiCLH6前スレでほとんど答えでてたし
汎化したドアオブジェクトを猫が押すのが練習問題的には正解っぽい
cat.push(obj: door)
0478デフォルトの名無しさん
2017/03/27(月) 23:16:57.36ID:qDTlbwjV0479デフォルトの名無しさん
2017/03/27(月) 23:25:56.26ID:zkHiCLH6>さらに、犬は「取ってこさせられる」のだからtakeは不適切。letTakeあたり
>「犬にボールを取って来させて受け取る 」を現実的に正しく表現すると
>Ball ball = dog.bitten; あたり。
>犬が咥えているものくらい、パブリックアクセスできるだろう。
>Ball ball = takeBall(dog); でもいいだろう。
人を罵るばっかりだったjVvzovDAが一生懸命かいたのか渾身のボケかはわからんが
失せろカスの一言で終わっててもののあはれを感じる
0480デフォルトの名無しさん
2017/03/27(月) 23:26:28.38ID:jVvzovDAお前、アホだろ
それでも全然ダメだよ。マトモな答えなんか欠片もでてねぇよ
文盲なのか理解力ゼロなのか? お前らは本当に
0481デフォルトの名無しさん
2017/03/27(月) 23:27:47.55ID:zkHiCLH60482デフォルトの名無しさん
2017/03/27(月) 23:29:27.45ID:jVvzovDA> 失せろカスの一言で終わっててもののあはれを感じる
そう思うのはお前みたいな生粋のバカだけだよw
反論できないから誰も反論しないだけだにゅーーーーーーーーん♪
∩___∩
| ノ ヽ/⌒) あばばばばばば
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/ ∩―−、
.( ヽ |∪| / / (゚) 、_ `ヽ
\ ヽノ / / ( ● (゚) |つ
/ / | /(入__ノ ミ あばばっあびゃばびゃばば
| / 、 (_/ ノ
| /\ \ \___ ノ゙ ─ー
| / ) ) \ _
∪ ( \ \ \
0483デフォルトの名無しさん
2017/03/27(月) 23:39:39.21ID:zkHiCLH6Ball ball = dog.bitten;
これって、現在犬が咥えてるボールを参照してるだけじゃないの?
0484デフォルトの名無しさん
2017/03/28(火) 00:19:22.33ID:ZGgECKv8自分で何言ってるか、もう一度よく考えてごらん♪
0485デフォルトの名無しさん
2017/03/28(火) 00:24:18.00ID:QvJjdHfs0486デフォルトの名無しさん
2017/03/28(火) 00:39:01.53ID:5RUVNWwSうまいこと言うな
お題自体が作文の問題だったってのもあるんだろうね
0487デフォルトの名無しさん
2017/03/28(火) 01:34:33.61ID:ZGgECKv8何言ってんだ? おめー
おめーに理解できね―お題だからってお題が悪いってことすんなよ、サル
0488デフォルトの名無しさん
2017/03/28(火) 02:55:31.19ID:vGNqj6m3後日改修を担当するマへのメッセージ、とでもいうか
クラス名で「これはxxx担当やで」
メソッドで 「このクチにこういうデータ放り込んだら、こういう結果返すで」
が伝わるなら何でもいいわけ
犬がボールくわえてるかどうか、getかtakeかはあまり意味がないというか……
まあ文芸的な表現をしたんだろうと解する
あのさあ、オブジェクト指向 = 現実世界の完コピ、でもないのね
計算通りに動けばどうだっていいのよ
某IDの君はそんなこと言ってもわからんヴィトケンシュタイン風味の先生だろうと思うが
0489デフォルトの名無しさん
2017/03/28(火) 03:18:53.86ID:vGNqj6m30490デフォルトの名無しさん
2017/03/28(火) 03:22:52.18ID:vGNqj6m3修羅場った時からクセになってて困る、7年くらいか?
病院の先生がProlog勉強したことあるとか今日聞いてちょっとワロたわ
……あー、頭の中身を知るのが好きすぎて手ぇ出したんやな、イケてるな、みたいな
俺にはちとPrologはわからんが
0491デフォルトの名無しさん
2017/03/28(火) 03:29:03.57ID:vGNqj6m3あークソ、結局夜中までコード書いて一発酒キメて眠剤とか我ながら泣けるぜ
まぁマやってりゃそんなもんか
0492デフォルトの名無しさん
2017/03/28(火) 03:30:43.11ID:5RUVNWwSこれが要件なんだからこうするしかないというのも同じく土方思考
土方思考が染み付いてるやつは抽象化能力も低い
だからオブジェクト指向が使えない
0493デフォルトの名無しさん
2017/03/28(火) 03:32:25.31ID:5RUVNWwSキャットドアは優秀な土方フィルター
0494デフォルトの名無しさん
2017/03/28(火) 03:36:18.58ID:8XEqMjknゲームをオブジェクト指向で実装する話をしようぜ
スライム、スライムベス、バブルスライム
メタルスライム、ホイミスライムとか、スライム系すべてを
オブジェクト指向で表現してみようぜ
0495デフォルトの名無しさん
2017/03/28(火) 03:49:15.35ID:vGNqj6m3簡単に言えば、バカの寝言に付き合う気はないってことだよ
ヴィトケンシュタインはどっかの山奥で「自分は間違っていた」と気づいたんで
ありゃあれで天才のようだが、師のバートランド・ラッセルには劣るという評価
お前はプログラミング言語に影響を及ぼした哲学者二名すらググったり調べたりしてないようで
草生えるw
0496デフォルトの名無しさん
2017/03/28(火) 03:50:59.18ID:8XEqMjkn現代のプログラミングの役に立つのだろうか?
0497デフォルトの名無しさん
2017/03/28(火) 04:00:34.70ID:vGNqj6m3バートランド・ラッセルの疑問がきっかけで「lambda」が見いだされた
現代のプログラミングで役に立つのだろうか? の答えはYES
0498デフォルトの名無しさん
2017/03/28(火) 04:07:00.58ID:vGNqj6m3くらいの理解しかしてないけどな、だいたいlasy bindingって感じ
後付けで無理くり押し込めるんでどうしようもないときは便利、あれマジプログラミング言語の真祖
0499デフォルトの名無しさん
2017/03/28(火) 04:25:29.34ID:8XEqMjknlambdaが役に立つのであって
哲学者は何の役にも立たんよ
0500デフォルトの名無しさん
2017/03/28(火) 04:29:49.81ID:vGNqj6m3知りたがりの設計屋なら特にな……俺はマメインだからアレだが
ごめんもうおちそうさらば
0501デフォルトの名無しさん
2017/03/28(火) 04:31:34.80ID:vGNqj6m30502デフォルトの名無しさん
2017/03/28(火) 05:31:19.38ID:5n2lAvJfそもそも図解するとドアにキャットドア付けるだけなのに
もう途中から選ばれし人間しか組めないみたいな話は絶対おかしいよな
0503デフォルトの名無しさん
2017/03/28(火) 07:12:38.42ID:1WRXezaS横行したせいで、派遣先の正社員
プロマネがOOPでの設計禁止したぜ
今は派遣のお姉ちゃんが設計無しの
VB非構造プログラム書いてるけど
産休で居なくなるから
もう誰も読めないコードだけが残るぜ
0504デフォルトの名無しさん
2017/03/28(火) 09:12:55.19ID:D2g9aNol0505デフォルトの名無しさん
2017/03/28(火) 12:33:18.50ID:+lSR7dcK0506デフォルトの名無しさん
2017/03/28(火) 12:50:49.31ID:rBmD0mlz0507デフォルトの名無しさん
2017/03/28(火) 12:58:46.53ID:0xLqs4gQ1クラス1メソッドなのに
変数レベルで多態性が
凄いことになってる
メソッドどころか関数という
概念にも興味が無い感じだぜ
0508デフォルトの名無しさん
2017/03/28(火) 13:03:21.49ID:xK9w46xb0509デフォルトの名無しさん
2017/03/28(火) 13:51:00.61ID:ZGgECKv8おめーが寝ようが寝まいが、誰も興味ねーよw
0510デフォルトの名無しさん
2017/03/28(火) 13:54:42.28ID:ZGgECKv8> そもそも図解するとドアにキャットドア付けるだけなのに
あの文章だとそういう解釈してはならないこともないが、
普通の人が解釈するのは猫でも犬でも人間でも押せる普通のドアの話
0511デフォルトの名無しさん
2017/03/28(火) 19:41:36.59ID:dzmFuSTHキャットドアの提案は出しては駄目なのかい?
0512デフォルトの名無しさん
2017/03/28(火) 19:53:51.44ID:RfbOgi1T0513デフォルトの名無しさん
2017/03/28(火) 20:25:04.70ID:F34OC8Lz何故あえて言ったかと言うとドアはメソッドにしないきゃいかんからだぞ
何故オブジェクトのメソッドにするかと言うと構造体の関数にするとネコに対してオブジェクト指向のメリットが無くなるからだぞ
0514デフォルトの名無しさん
2017/03/28(火) 20:40:04.02ID:ZGgECKv8施主様と相談するのはいいんじゃないかな?
0515デフォルトの名無しさん
2017/03/28(火) 20:40:43.03ID:ZGgECKv8お前、施主様?
0516デフォルトの名無しさん
2017/03/28(火) 20:43:12.95ID:ZGgECKv80517デフォルトの名無しさん
2017/03/28(火) 20:43:16.66ID:F34OC8Lz何だよそれ、?
0518デフォルトの名無しさん
2017/03/28(火) 20:44:37.54ID:ZGgECKv8派遣契約には納品義務ないけど。
0519デフォルトの名無しさん
2017/03/28(火) 20:45:01.36ID:ZGgECKv8何って? 施主の意味わからないってことか?
0520デフォルトの名無しさん
2017/03/28(火) 20:47:18.79ID:F34OC8Lzあ、はい
0521デフォルトの名無しさん
2017/03/28(火) 21:21:19.43ID:ZGgECKv8あー、建築工事とかで資金を出す人のことを「施主(せしゅ)」って言う。
つまり、「こういう物作ってください」って大工さんにお願いする人の事。
0522デフォルトの名無しさん
2017/03/28(火) 21:25:21.97ID:gJlCKM050523デフォルトの名無しさん
2017/03/28(火) 21:29:32.35ID:ZGgECKv8はぁ? お前、ここに限らず「真面目に」真面目な事してんの? バカじゃね?
真面目な事っつーのは、いつでもフザケてやるもんだよ。
本気でフザけて、やる。それをほんとうの意味で「真面目」っつーんだ。覚えとけ。
0524デフォルトの名無しさん
2017/03/28(火) 21:30:11.78ID:F34OC8Lzてっきり上の人か何かのアダ名かと
もう猫ドア問題は終わったのか。終わったんなら俺の迷ってる話してもええんかな??
0525デフォルトの名無しさん
2017/03/28(火) 21:32:22.76ID:8XEqMjkn終わった。
今はロボットを設計するという話になってる。
ガンダムとガンタンクとガンキャノン
ビームサーベルやシールド といったものを
どう設計するか
0526デフォルトの名無しさん
2017/03/28(火) 21:36:42.08ID:D2g9aNolんなもんオブジェクトの塊なんだから考えると余地もねーだろ
0527デフォルトの名無しさん
2017/03/28(火) 21:41:34.79ID:ZGgECKv8終わってない。
だが、誰がどんな話題を持ちかけようとも、
それに語る価値があるのならそれについて語る。それが2chだ。
0528デフォルトの名無しさん
2017/03/28(火) 21:42:43.34ID:ZGgECKv8材質はABSかPLAでええんか?
0529デフォルトの名無しさん
2017/03/28(火) 21:49:07.74ID:F34OC8Lz上読んでないけどいくら何でも話がアバウト過ぎるだろ、
0530デフォルトの名無しさん
2017/03/28(火) 21:51:25.33ID:ZGgECKv8お前、純朴な良い奴ってみんなから言われるだろw
0531デフォルトの名無しさん
2017/03/28(火) 21:59:19.13ID:h1fkCUCX0532デフォルトの名無しさん
2017/03/28(火) 22:00:20.11ID:LEXBHR2D話1/4ぐらいに流してほとんどNGになってたが
「オブジェクトの中に自由に出入りするネコオブジェクトの意味ってなんだろーな…
害になるネズミでも捕ってくれるのか。」とか考えてた。
0533デフォルトの名無しさん
2017/03/28(火) 22:09:33.72ID:ZGgECKv8ペットも満足に飼えない貧民の発想なんてそんなもんだ、気にするな
0534デフォルトの名無しさん
2017/03/28(火) 22:12:18.71ID:xlsHHzOq潮はただのおしっこなので却下
0535デフォルトの名無しさん
2017/03/28(火) 22:15:03.89ID:F34OC8Lzオブジェクトを使ってシステム作る際段取りとして親や上位から作るだろ?親や上位を作ったあと子やプロパティのオブジェクトを入れたり、その後孫とか
いわゆる話や段取りが基本トップダウン形式やな。その後の仕様変更とかも下位をどう弄り直すかの話が大半だと思うんだが
最上位の更に最上位、親から見ておじいちゃんを後の仕様変更で作る事は現実的にアリなのかわからんのよな
理論上出来るのはわかるが、現実的に可能でそれも想定して前々から現時点での最上位を緩く作るのはオブジェクト指向上望ましいのかという問題
0536デフォルトの名無しさん
2017/03/28(火) 22:21:34.30ID:QvJjdHfsclass Derived : public T;
0537デフォルトの名無しさん
2017/03/28(火) 22:24:03.92ID:ZGgECKv8影響範囲が見えてないから悩むんだろ。
その改変によってどういう影響がでるか考えてみたらいいんじゃね?
OOPこそそういう事が考えやすいはずだ。
そして、問題が出た時に考えてみろ、それはOOPの問題だったのか? おまえのOOPの理解力の問題だったのか?
0538デフォルトの名無しさん
2017/03/28(火) 22:35:51.42ID:RfbOgi1T状況がまったくわからんけどエスパーすると一番上を作り直すの推奨
そこで悩むってことは一番上にあれもこれもって盛り込んでないか
ふつうはメイン関数とかだけもってて、主機能をキックするだけぐらいのクラスになると思う
再利用して使いまわすつもりの部分と、ガワの使いすて部分を切り分けておくのおすすめ
0539デフォルトの名無しさん
2017/03/28(火) 22:48:03.72ID:r5fJHO+Q0540デフォルトの名無しさん
2017/03/28(火) 22:50:02.39ID:F34OC8Lz影響範囲は確かに悩むな。それがキモかな?
>>538
上でオブジェクト指向でロボットをどうやって作る?って奴がいたけどそれで例を出すと
ロボット単体で完結してたシステムと話を
ロボットをどうやって管理するか?とか、このロボットを量産しよう!、って話に発展する様なケースやな
最初から全部そんな話だったら簡単だけど元がロボット単体で済んでた話だったのが悩み所
0541デフォルトの名無しさん
2017/03/28(火) 23:08:55.56ID:RfbOgi1Tしかも余計抽象的な話になってるし余計わからん…
0542デフォルトの名無しさん
2017/03/28(火) 23:10:47.90ID:5RUVNWwSBaseRobotとBaseWeaponを最上位として作って使ってたけど
両方に共通する部分をBaseHogeで抽象化したりさらにその上位を作るのがアリなのかって意味?
だとすれば抽象化するメリット・デメリットを天秤にかける以外にないのでは?
悩んでるポイントは別にありそうだけど
0543デフォルトの名無しさん
2017/03/28(火) 23:20:16.34ID:F34OC8Lzそりゃわからんよ。現時点で最初からそう作ると決まってたらそう作れるけど
将来に向けてこの作り方と準備アリなのって話だしな
0544デフォルトの名無しさん
2017/03/28(火) 23:52:08.46ID:v6Lj9R3/しかし我々はプロトコル指向というパラダイムを手にいれた
プロトコルの拡張
これこそが聖杯だよ
swift万歳
0545デフォルトの名無しさん
2017/03/28(火) 23:54:00.46ID:RfbOgi1Tでも「ゆるく作る」なんてのは絶対推奨しない
小さく作って、あとから必要なとこだけ取り出すか、拡張すればいい
見えない将来の課題に備えて成功したためしがない、必要なことだけ最小限でやるのが結局一番拡張性高い
0546デフォルトの名無しさん
2017/03/29(水) 00:11:17.91ID:ZwfTQ2HH処理を共通化するのも抽象化の一つだろ??
それにSwiftに限らず似たようなことは他言語でもできるよ
Javaですらインターフェースにデフォルト実装を作れる時代なんだから
0547デフォルトの名無しさん
2017/03/29(水) 00:14:28.23ID:ZwfTQ2HH>でも「ゆるく作る」なんてのは絶対推奨しない
ほんとこれ
ゆるく作ったほうがいいんじゃないかと考える理由を探れば根本の問題に辿り着けるかも
0548デフォルトの名無しさん
2017/03/29(水) 00:26:48.10ID:G25OA3ZV> 両方に共通する部分をBaseHogeで抽象化したりさらにその上位を作るのがアリなのかって意味?
両方に共通する部分があるから、親クラスを作るんじゃないよ。
親クラスと子クラスの関係性があるならば、親クラスを作るんだよ。
単に共通するってだけならユーティリティクラスを作ればいい
0549デフォルトの名無しさん
2017/03/29(水) 00:57:23.96ID:ZwfTQ2HH>>535は継承構造と親子関係を明確に区別して親とか孫とかおじいちゃんって言葉を使ってる?
そうは思えなかったけど
0550デフォルトの名無しさん
2017/03/29(水) 01:09:17.34ID:YK3nJaETそりゃ流石にそうよ。だからおじいちゃん親子、最上位上位下位と言い分けたんだから
0551デフォルトの名無しさん
2017/03/29(水) 01:22:30.26ID:ZwfTQ2HHだとすると仕様変更で新たな親子関係が必要になったけど親クラス追加するかどうかで悩んでるのか!?
ちょっと俺には理解できんわ
0552デフォルトの名無しさん
2017/03/29(水) 01:30:48.69ID:MuyfUd6J0553デフォルトの名無しさん
2017/03/29(水) 02:42:46.09ID:YK3nJaETまあまあそんな大袈裟に言うな
俺はオブジェクトの群れ束ねる飼い主オブジェクトというのをオブジェクト指向で組もうとしてて
まてよ飼い主が何人もいたらそのまとめ役が更に必要になってくるのか?と想定しただけよ
0554デフォルトの名無しさん
2017/03/29(水) 03:14:40.14ID:d5wwz1O4そも、なぜ「おじいちゃん」クラスが必要か、にもよろうね
たとえ話:
どっかでみた jp.co.fujitsu なアプリがあって、新バージョンでいろんなクラスに
メソッドを追加しないといけないんだけど面倒だからおじいちゃんクラス作りたい
(interfaceは実装を引っ張ってきてくれないという一大欠陥がある)
みたいなのかな
0555デフォルトの名無しさん
2017/03/29(水) 03:56:11.27ID:G25OA3ZVクラスA、クラスBに同じ処理があるか?じゃなくて
クラスA、クラスBを同じオブジェクトとしてみなしたいか?
という観点で考えれば良い
0556デフォルトの名無しさん
2017/03/29(水) 04:10:02.70ID:ZwfTQ2HHそういう話か
その例だと一般的には親子関係とは呼ばないかもな
それはいいとして飼い主をまとめて扱ったり
まとめ役を通じて飼い主を操作したりするケースが多い場合や
そのシステムの用語としてまとめ役みたいな言葉が存在する場合は
まとめ役を追加を前向きに検討すればいいと思う
レイヤーを一つ追加することにはなるからその価値があるのかどうか
0557デフォルトの名無しさん
2017/03/29(水) 09:01:05.74ID:PMA68UxVaドア := Object new assureUniClass.
aドア class rename: #ドア.
"ドアには状態(開閉)があり、ラッチがついていて固定、解除ができる"
aドア addInstanceVarNamed: #開閉 withValue: #閉; addInstanceVarNamed: #ラッチ withValue: #固定.
aドア class compile: 'ラッチ解除 ラッチ := #解除'; compile: 'ラッチ固定 ラッチ := #固定'.
"ドアはラッチで固定されていると開けられず、ラッチが解除されていればドアは押すと開く"
aドア class compile: '開けられる? ^開閉 == #開 or: [ラッチ == #解除]'.
aドア ラッチ解除; 開けられる?. "=> true "
aドア ラッチ固定; 開けられる?. "=> false "
"ドアにはノブがついていて回すとラッチの解除ができ、戻すと再びラッチで固定される"
aドア addInstanceVarNamed: #付属ノブ withValue: Object new assureUniClass "ノブ".
aドア class compile: 'ノブ ^付属ノブ'.
aドア ノブ class rename: #ノブ.
aドア ノブ addInstanceVarNamed: #所属ドア withValue: aドア.
aドア ノブ class compile: '回す 所属ドア ラッチ解除'; compile: '戻す 所属ドア ラッチ固定'.
aドア ノブ 回す. aドア 開けられる?. "=> true "
aドア ノブ 戻す. aドア 開けられる?. "=> false "
"ドアはラッチが解除されている状態で押すと開き、引くと閉まってラッチで固定される"
aドア class compile: '押す self 開けられる? ifTrue: [開閉 := #開]'; compile: '引く 開閉 := #閉. ラッチ := #固定'.
aドア class compile: '開いている? ^開閉 == #開'.
aドア 押す; 開いている?. "=> false "
aドア ノブ 回す. aドア 押す; 開いている?. "=> true "
aドア 引く; 開いている?. "=> false "
aドア 開けられる?. "=> false "
0558デフォルトの名無しさん
2017/03/29(水) 09:12:44.23ID:VZqvhY7a適当なことをもっともらしく言うのはやめたほうがいいよ
0559デフォルトの名無しさん
2017/03/29(水) 11:04:23.82ID:2bVB6bMW0560デフォルトの名無しさん
2017/03/29(水) 13:50:01.07ID:PMA68UxV"仕様の変更も試みた: ラッチ(固定具)の解除はノブの操作を通じてのみ行なえるべき"
"ラッチをドアからノブに移動"
ノブ addInstVarName: #ラッチ; compile: 'pvtXラッチ: 固定か解除 ラッチ := 固定か解除'. "private"
"aドア ノブ pvtXラッチ: #解除 => compile error: Private messages may only be sent to self "
ノブ compile: 'ラッチ解除? ^ラッチ == #解除'.
ノブ compile: '回す self pvtXラッチ: #解除'; compile: '戻す 所属ドア 閉じている? ifTrue: [self pvtXラッチ: #固定]'.
ドア compile: '閉じている? ^self 開いている? not'.
"ラッチにアクセスしているドアのメソッド一覧を得て削除(ドア>>#ラッチ固定 と #ラッチ解除 はそのまま廃止)"
methods := SystemNavigation default allAccessesTo: #ラッチ from: ドア.
methods asArray collect: #selector. "=> #(開けられる? ラッチ固定 ラッチ解除 引く) "
methods do: [:each | ドア removeSelector: each selector].
"ドア>>#開けられる? と #引く については仕様の変更を反映して再定義"
ドア compile: '開けられる? ^開閉 == #開 or: [付属ノブ ラッチ解除?]'.
ドア compile: '引く 開閉 := #閉. 付属ノブ 戻す'.
"振る舞いが変わらないことを確認"
self assert: [aドア ノブ 回す. aドア 開けられる? == true].
self assert: [aドア ノブ 戻す. aドア 開けられる? == false].
self assert: (aドア 押す; 開いている?) == false.
self assert: [aドア ノブ 回す. (aドア 押す; 開いている?) == true].
self assert: (aドア 引く; 開いている?) == false.
self assert: (aドア 開けられる?) == false.
0561デフォルトの名無しさん
2017/03/29(水) 18:49:33.84ID:8ykoX9Tsゆるく作ってんじゃねぇよ。
「強くなるためにはどうすればいいですか?」>「毎日鍛錬しろ、走れ」で済むところを
最小限で作れば〜必要なものだけ作れば〜言ってるバカに限って
(相手が単細胞の最小限だから)「腹筋100セット、腕立て100セット、然るのちに朝食を食べ…」って
ぜんぶ周りが教えてやらなきゃいけないし、相手の状態が変わるたびに
"周りが"与えるもの変更してやらなきゃいけねぇから
それじゃ弟子が変わる度に周りや師匠にどんだけ手間かかるんだよ、おまえらバカだろ?
自分で自立した単位で切ってそいつに責任移譲しろよって話。
"オブジェクト"の意味がわかってねぇ奴がだいたいカンチガイし続けるのはそこ。
0562デフォルトの名無しさん
2017/03/29(水) 19:03:15.93ID:DKbUPR600563デフォルトの名無しさん
2017/03/29(水) 19:23:44.34ID:qOd5arPBそれは何に使うの?
0564デフォルトの名無しさん
2017/03/29(水) 19:47:28.60ID:YK3nJaET0565デフォルトの名無しさん
2017/03/29(水) 19:59:01.30ID:+RgzTgUHそんな複雑なこと単一オブジェクトにやらせるな
やること教えてくれる先生を別途オブジェクトとして作ればいいだけじゃないか
0566デフォルトの名無しさん
2017/03/29(水) 20:15:33.37ID:8zEKqVfn562は中身もある奴だろ
0567デフォルトの名無しさん
2017/03/29(水) 20:54:42.63ID:gsszT5JLOOPへの認識の誤りや改善点はあるでしょうか?
public abstract class Human
{
public abstract string Ahegoe();
public abstract void Seiki(object chinko);
public abstract object Seiki();
}
public class Man : Human
{
public override string Ahegoe(){return "あーーー";}
public override void Seiki(object Chinko){}
public override object Seiki(){return null;}
}
public class Woman : Human
{
public override string Ahegoe(){return "んぎもじぃぃぃ";}
public override void Seiki(object Chinko) { }
public override object Seiki() { return null; }
}
Man man = new Man();
Woman woman = new Woman();
woman.Seiki(man.Seiki());
string Shout = woman.Ahegoe();
Shout = man.Ahegoe();
Man man2 = new Man();
man.Seiki(man.Seiki());
0568デフォルトの名無しさん
2017/03/29(水) 20:59:07.74ID:jPHlHu9R自分の性器に自分の性器入れるとか
どこのソドムだよ
0569デフォルトの名無しさん
2017/03/29(水) 21:02:43.61ID:gsszT5JL失礼しました。
Man man2 = new Man();
man.Seiki(man2.Seiki());
の誤りです。
0570デフォルトの名無しさん
2017/03/29(水) 21:06:40.67ID:jPHlHu9R男の性器を受け入れる男の性器ってなんだよw
0571デフォルトの名無しさん
2017/03/29(水) 21:15:27.04ID:YK3nJaET0572デフォルトの名無しさん
2017/03/29(水) 21:25:48.45ID:MuyfUd6Jいやいやそこじゃないから
0573デフォルトの名無しさん
2017/03/29(水) 21:26:47.52ID:YK3nJaET使うタイミングやメソッド名は殆ど変わらないものの内部処理だけは全然違う場合がある
外からはオナニー等の同じ様な呼び出し方を出来るようにして
中身は別の処理になるよう外と中を分離させる必要がある
0574デフォルトの名無しさん
2017/03/29(水) 21:37:21.75ID:iJynlngf0575デフォルトの名無しさん
2017/03/29(水) 21:49:44.97ID:gsszT5JL男性器に男性器を入れるのは現実的にあり得ないモデリングなので
以下のように改善します
public abstract class Human
{
public abstract string Ahegoe();
public abstract void Seiki(object chinko);
public abstract object Seiki();
public abstract object Koumon(); //revision002
}
↓
Man man2 = new Man();
man.Koumon(man2.Seiki());
0576デフォルトの名無しさん
2017/03/29(水) 21:52:57.32ID:YK3nJaET0577567
2017/03/29(水) 21:52:59.67ID:gsszT5JLより現実に近いファックが再現できました。
オブジェクト指向って凄いですね。
初体験なので感動です。
Woman woman = new Woman();
woman.Koumon(man.Seiki());
0578デフォルトの名無しさん
2017/03/29(水) 21:58:06.40ID:XzQ1niZO0579デフォルトの名無しさん
2017/03/29(水) 22:01:32.98ID:jPHlHu9R0580デフォルトの名無しさん
2017/03/29(水) 22:03:59.89ID:YK3nJaET使うのはチンコマンコだが受け入れ先がチンコマンコとは限らない。ここは強い柔軟性が必要だ
0581567
2017/03/29(水) 22:05:45.82ID:gsszT5JL僕のSeikiも爆発しそうです。
public abstract class Human
{
public abstract string Ahegoe();
public abstract void Seiki(object chinko);
public abstract object Seiki();
public abstract object Koumon(); //revision002
public abstract object kuchi(); //revision003
}
↓
Man man2 = new Man();
man.kuchi(man2.Seiki());
0582デフォルトの名無しさん
2017/03/29(水) 22:29:09.20ID:wajUYfMf本物のオナニー仕様策定で盛り上がりだしたのか…
本当にバカしかいねぇな…
0583567
2017/03/29(水) 22:39:13.70ID:gsszT5JLすみません。それが何なのか解りませんでした。
やり方を研究してみます。
0584567
2017/03/29(水) 22:42:50.49ID:gsszT5JL性の悦びより猫がドアをくぐる方が重要な人間は
あまり多く無いと思います。
0585デフォルトの名無しさん
2017/03/29(水) 22:46:02.61ID:wysGCAMZ0586567
2017/03/29(水) 22:54:41.80ID:gsszT5JLまだまだモデラーへの道が遠いと痛感し、修正しました。
public abstract class Animal
{
public abstract string Ahegoe();
public abstract void Seiki(object chinko);
public abstract object Seiki();
public abstract object Koumon();
public abstract object kuchi();
}
public class Cat : Animal
{
public override string Ahegoe(){return "アニャィィィヤーン";}
public override void Seiki(object Chinko) { }
public override object Seiki() { return null; }
public override object Koumon() { return null; }
public override object kuchi() { return null; }
}
0587567
2017/03/29(水) 22:57:38.81ID:gsszT5JLCat mike = new Cat();
mike.Koumon(man.Seiki());
こっこれは、レベルが高すぎて
自分はエレクチオンできません!
0588デフォルトの名無しさん
2017/03/29(水) 23:01:00.90ID:wysGCAMZmike.insertInAnal(man.penis())だろ
0589デフォルトの名無しさん
2017/03/29(水) 23:09:37.82ID:ZwfTQ2HH0590567
2017/03/29(水) 23:57:03.33ID:gsszT5JLpublic abstract class Animal
{
public abstract string moaning();
public abstract object PutsPenis();
public abstract void InsertInPussy (object PutsPenis);
public abstract void InsertInAnal(object PutsPenis);
public abstract void InsertInMouth(object PutsPenis);
}
しかし、Penis以外を入れたい時はどうするとか
考えると大変ですね。
モデリングの奥深さを知りました。
0591デフォルトの名無しさん
2017/03/30(木) 00:12:43.64ID:ygl6H7Vq0592デフォルトの名無しさん
2017/03/30(木) 00:27:27.92ID:yzEGuOSk0593デフォルトの名無しさん
2017/03/30(木) 00:28:37.84ID:gGp/SYAmやっぱりって何を見てそう思ったの?
いや、今までの流れはオブジェクト指向便利だったのが
脈絡もなく書き込んでるからさ、
もしかして、(くやしいから?)今までの話を
リセットしようとしてるのか思ってね。
で、何を見てそう思ったの?
0594デフォルトの名無しさん
2017/03/30(木) 00:32:45.84ID:nVOZ71qD「比喩で話したくなる」ってのがオブジェクト指向の魔の部分だ……
問題は自分が書いたコードと、他人が書いたコードとの接点のみじゃなかろうか
具体的には、引数でもらったインスタンスをどうこうする事
お前が言ってることをそのままコードに直すなら、引数にもらったインスタンスにsetXXXすることが
サブクラスごとに微妙に異なるので
基底クラスじゃなくて派生クラスごとに個別の対応が必要になるって話だぁな
twitterとfacebookとmixiとgoogle+とyammer(MSのSNSのほうな)とほかのSNS10個くらい
扱ってんの? って話になろうよ
通常そこまで扱うことはない
duckduckgoとかlibvirtみたいなことをしてるんなら別だが……割と地味に苦痛な作業になるだろうな
差異を受け止めるラッパーやってる自覚があるんならやるしかないし(たぶんそうなる)
そうでもないならあきらめな
>>590
Animal#fuck
の切り口でなんとかする手もあるかも、思い付きだけど……
おくち
ま〇こ
あな〇
そのほか(ド変態は耳とか鼻とか……傷口にも性欲を見出す……俺には無理だ)
みたいなのにも対処するなら、もっとうまい手があるようにも思える
ネタなのはわかってるから気にすんなYO!
0595デフォルトの名無しさん
2017/03/30(木) 00:35:51.70ID:nVOZ71qDJavaっ子の継承・インターフェース乱打だけはいただけんな
デバッガがドンドコと別のコードに振り回される
gnu global(caller/calleeの位置を全部バラしてくれるエグいツール)あるいは
類似のツール使わんとイマイチわかりづらい感じ
マジなんとかしてほしいよ jp.co.fujitsu のイミフフレームワークとかさ……
0596デフォルトの名無しさん
2017/03/30(木) 00:42:04.03ID:ygl6H7Vqオブジェクト指向すげえ、オブジェクト指向に嫉妬する
なんてことになるわけねえじゃん
0597デフォルトの名無しさん
2017/03/30(木) 00:44:02.30ID:nVOZ71qDほかはもう慣れだと思う
0598デフォルトの名無しさん
2017/03/30(木) 00:44:17.05ID:ygl6H7Vq0599デフォルトの名無しさん
2017/03/30(木) 00:46:09.14ID:gGp/SYAmえ? 何を見て童貞臭い低俗なレスって思ったの?w
そういうことにしたいんだくそーって感じがプンプンするねw
0600デフォルトの名無しさん
2017/03/30(木) 00:49:11.64ID:vlkkbUGw0601デフォルトの名無しさん
2017/03/30(木) 00:50:13.21ID:gGp/SYAmここまで言えないと何の意味もないよw
0602デフォルトの名無しさん
2017/03/30(木) 00:51:52.45ID:nVOZ71qDmixinとかtraitなら肥大化した「単独で切り出せるメソッド」を分割しやすい
ID:gGp/SYAmは今日の酒のツマミだな
0603デフォルトの名無しさん
2017/03/30(木) 00:53:26.31ID:gGp/SYAm0604デフォルトの名無しさん
2017/03/30(木) 00:53:30.11ID:nVOZ71qDっていうかこのスレはよ沈まんのかいワレェ(CV:竹内力@ミナミの帝王
0605デフォルトの名無しさん
2017/03/30(木) 00:55:41.15ID:nVOZ71qDごめん、ちょっとお前が考える「オブジェクト指向」の定義を聞いていいか?
0606デフォルトの名無しさん
2017/03/30(木) 00:57:49.41ID:gGp/SYAm> mixin とはオブジェクト指向プログラミング言語において、サブクラスによって継承されることにより機能を提供し、単体で動作することを意図しないクラスである。
0607デフォルトの名無しさん
2017/03/30(木) 00:58:11.59ID:gGp/SYAmトレイト (英: trait) とはコンピュータープログラミングにおける概念で、構造的にオブジェクト指向プログラミングを行うための簡素な概念モデルとして使われるメソッド群の集まりである。[1] [2]
0608デフォルトの名無しさん
2017/03/30(木) 01:03:41.61ID:nVOZ71qDwikipediaを引いてこいなんて言ったつもりはなかった
申し訳ない、ほんとにお手数をお掛けしてごめんね?
プログラマーじゃないんやな
自分の文章で書けるでそ、実際書いたことあるんなら「メソッドだけ欲しいときのやつな」って言うと思う
java界で言うmixinとは「interface」のことだってことも知らんようだし……まじごめんな
0609デフォルトの名無しさん
2017/03/30(木) 01:04:43.58ID:gGp/SYAm反論になってると思ってる糞ガキw
0610デフォルトの名無しさん
2017/03/30(木) 01:05:02.53ID:nVOZ71qD0611デフォルトの名無しさん
2017/03/30(木) 01:05:58.52ID:gGp/SYAm意訳 Javaでmixinを初めて知りました。interfaceのことだと思っていました。
一般的な意味はしりません。
0612デフォルトの名無しさん
2017/03/30(木) 01:07:37.95ID:nVOZ71qD使ったことあるのかどうかによるな
あるんならWikipedia引くまでもなく数秒でタイプしてしまえると思う
そうせずにしばらくしてwikipediaを引いてきたのだからアヤシイ気もするのよ
0613デフォルトの名無しさん
2017/03/30(木) 01:09:17.74ID:nVOZ71qDJavaのinterfaceはmixinとして不十分
実装のコピペができないから(Java8でようやくできるようになった)
その指摘もできないとかどうなん
0614デフォルトの名無しさん
2017/03/30(木) 01:09:39.88ID:gGp/SYAmタイプしろってお前言ったか?
0615デフォルトの名無しさん
2017/03/30(木) 01:10:11.15ID:gGp/SYAm0616デフォルトの名無しさん
2017/03/30(木) 01:14:09.49ID:nVOZ71qDJavaきらーい
もともとの設計が「組み込み用」だったんで、機能制限ありすぎて書きにくい
っていうか、そのくらいは知ってるよな? cafebabeとかは言わんけど
0617デフォルトの名無しさん
2017/03/30(木) 01:20:26.40ID:gGp/SYAmお前だけだよ、知識自慢したいのはw
0618デフォルトの名無しさん
2017/03/30(木) 01:22:32.03ID:nVOZ71qD「javaはもともと組込用言語として設計されたので機能を厳選せざるを得ず
関数型言語に近しい機能はかたっぱしシカトしてたけども
時期的にクラサバからWeb系への移行期だったことからWeb系対応の機能拡張を施されたので
ちょうどよくWeb系言語の主流になりStrutsとかSpringでウヒョーになったものの
あずれさんとかあまぞそとかGoogleのせいで分散処理が(再び)主流になった現在では微妙」
くらいはしってるでそ、雑魚の野良マなら
0619デフォルトの名無しさん
2017/03/30(木) 01:22:44.55ID:gGp/SYAm意気揚々とJavaの話をふっかけてきて、何だこいつとしか思ってないから
0620デフォルトの名無しさん
2017/03/30(木) 01:23:41.42ID:nVOZ71qDあのさあ、マジメに議論する気あるん?
ないならどっか別の板行けよマジで
0621デフォルトの名無しさん
2017/03/30(木) 01:23:41.49ID:gGp/SYAm俺はお前にJavaの話を聞いたわけでもないのに、
なんで一人で語ってるの?意味不明
お前だけだよ、知識自慢したいのはw
0622デフォルトの名無しさん
2017/03/30(木) 01:24:48.46ID:nVOZ71qDヘイトが趣味なら失せろって意味でしゃべってるのよ
0623デフォルトの名無しさん
2017/03/30(木) 01:25:01.25ID:gGp/SYAmmixinとかtraitというオブジェクト指向ならではともいえる
機能を使うと肥大化したクラスを分割しやすい
という話の続きですか?
反論を待っている最中なんですが?
0624デフォルトの名無しさん
2017/03/30(木) 01:26:28.10ID:nVOZ71qD本当にあなた適当なことしかいわないのね
0625デフォルトの名無しさん
2017/03/30(木) 01:26:55.30ID:gGp/SYAmどこの部分が適当なこと?
深追いすると困るでしょあなた?w
0626デフォルトの名無しさん
2017/03/30(木) 01:28:15.25ID:gGp/SYAm突っ込まれると何も言えなくなるんだよ
0627デフォルトの名無しさん
2017/03/30(木) 01:28:23.16ID:nVOZ71qDなぜ初めから技術論で深追いしないのか
なぜ煽りに徹する
お前は技術論がわからないんじゃないのか
と、疑っている
0628デフォルトの名無しさん
2017/03/30(木) 01:29:14.83ID:gGp/SYAm0629デフォルトの名無しさん
2017/03/30(木) 01:32:21.70ID:nVOZ71qD「いや、今までの流れはオブジェクト指向便利だったのが
脈絡もなく書き込んでるからさ、
もしかして、(くやしいから?)今までの話を
リセットしようとしてるのか思ってね。 」
のあたりについて、キチンと「例えば関数型・手続き型言語よりもオブジェクト指向言語のほうが優れている」
というコードを見せてもらおうか
ideone.comにうpってくれ
お前書かんでしょ、知ってるけど
0630デフォルトの名無しさん
2017/03/30(木) 01:33:17.43ID:gGp/SYAm反論を待ってる最中なんだから
0631デフォルトの名無しさん
2017/03/30(木) 01:35:54.96ID:nVOZ71qD書けないのを分かってて言ってるからアレだけど
別の板いったほうがいいと思うよ
イライラしてるのはわかってるし、意図的にそうしてるんよこっちは
0632デフォルトの名無しさん
2017/03/30(木) 01:38:13.51ID:gGp/SYAm組み合わせて使うもので構造(クラス)を記述するのに適してる言語だ。
処理の内容は関数型が優れている。
構造(オブジェクト指向)と処理(関数型)は組み合わせて使うことができる
手続き型はもういらねw
0633デフォルトの名無しさん
2017/03/30(木) 01:39:44.89ID:gGp/SYAmいや、あまりにも想定通りの行動するもので呆れてる所w
http://echo.2ch.net/test/read.cgi/tech/1488213507/30
30 自分:デフォルトの名無しさん[sage] 投稿日:2017/03/30(木) 01:21:13.47 ID:gGp/SYAm [1/2]
相手に喋らせてボロを出すのを待ち構えるメソッドかいな(笑)
31 自分:デフォルトの名無しさん[sage] 投稿日:2017/03/30(木) 01:35:10.41 ID:gGp/SYAm [2/2]
やっぱりそうだったな。どうにかして相手に
書かせようとする作戦だった。
自分は逃げてばっかり
0634デフォルトの名無しさん
2017/03/30(木) 01:41:28.91ID:nVOZ71qDちょっとリーナス呼んできていいか? Matzでもいいし、あのインデント偏執狂のグイドでもかまわないが
「もういらねw」とか無礼にもほどがある
0635デフォルトの名無しさん
2017/03/30(木) 01:43:32.22ID:nVOZ71qDお前営業やったほうがいいんじゃないか? マじゃないだろ……
ヒントなどではなくピンポイントで分かる情報を出してるつもりだが
0636デフォルトの名無しさん
2017/03/30(木) 01:46:23.96ID:gGp/SYAmえ?何の議論?
mixinとかtraitというオブジェクト指向ならではともいえる
機能を使うと肥大化したクラスを分割しやすい
という話の続きですか?
反論を待っている最中なんですが?
0637デフォルトの名無しさん
2017/03/30(木) 01:48:32.69ID:Babdh16bID:gGp/SYAmは
オブジェクト指向批判するなら代案をだせ、
mixinとtraitはオブジェクト指向で解決しているから批判にならない、
Wikipediaに載っているから「mixinとtraitがオブジェクト指向」は間違ってない、
と言っているわけだ。これはよくわかる。
ID:nVOZ71qDはなぜオブジェクト指向の定義を聞いた?
自分の文章で書けると言っているが
それでは「mixinとtraitがオブジェクト指向」の証明にならないだろ。
ID:nVOZ71qDが何を言いたいのかわからない。
>>631
君が相手の言っている事を理解できないだけだと思う。
0638デフォルトの名無しさん
2017/03/30(木) 01:50:01.83ID:gGp/SYAmあんた真面目に読んでるなw
0639デフォルトの名無しさん
2017/03/30(木) 01:51:15.02ID:nVOZ71qDID:gGp/SYAm
順番としては、一番早い >>593 を解決してもらわなければ筋が通らん
「いや、今までの流れはオブジェクト指向便利だったのが
脈絡もなく書き込んでるからさ、
もしかして、(くやしいから?)今までの話を
リセットしようとしてるのか思ってね。 」
これについての説明を、コードでしてもらわなきゃね
お前が先に切りかかったのだから
自分が言ったことを証明できないならあとの話はウソかもと疑わないと仕方ないわけで
いやね、事情があるなら説明してもらえりゃ構わんけどさ……俺みたく酔っぱらってヒートアップしてるなら知らんし
0640デフォルトの名無しさん
2017/03/30(木) 01:54:53.99ID:nVOZ71qD手続き型の言語な感じだからだろうね
関数/メソッドとclassが切り離すのが容易
くらいの意味合いだわな
0641デフォルトの名無しさん
2017/03/30(木) 01:58:23.56ID:nVOZ71qDID:gGp/SYAmはすぐにヘイト文面書くと思うが……どうしたらいいんかねこの子
0642デフォルトの名無しさん
2017/03/30(木) 02:03:55.80ID:nVOZ71qD0643デフォルトの名無しさん
2017/03/30(木) 02:19:42.70ID:nVOZ71qD0644デフォルトの名無しさん
2017/03/30(木) 02:23:38.29ID:nVOZ71qDごめん眠剤オーバードーズして死んできていいか orz しやせんが
0645デフォルトの名無しさん
2017/03/30(木) 02:26:53.57ID:QQ8BCWsM0646デフォルトの名無しさん
2017/03/30(木) 02:30:29.89ID:nVOZ71qDあー、IDなんちゃらが他人をあおってたのにイラっとして爆撃したようなもんで
俺のIDを全部無視に入れれば済むぜ……! っていうかそうしてくれ……
0647デフォルトの名無しさん
2017/03/30(木) 03:14:34.94ID:nVOZ71qDまんこがくさい女の子のスレに張られた文言
言われても仕様がないんですけどー
ミン剤バキバキなんでアレだが、性病検査(あたりなら抗生剤)→ラクトフローラで匂い改善じゃないですかねー
よし寝る、風呂ってきたよ
0648デフォルトの名無しさん
2017/03/30(木) 03:19:25.43ID:gGp/SYAm0649デフォルトの名無しさん
2017/03/30(木) 03:24:38.24ID:nVOZ71qD眠剤入れるとスコンって落ちるからね、最近のはよく効く
まあ明日(というか今日?)はきっと「オブジェクト指向のすごさ」を実装してくれるのでしょう?
できなかったらお前マジ「素人」判定
場所は idenoe.com つかったらええでそ
バチっとワンニャンアニマルfuckなクラス、全員がなるほどこう設計するのかと納得できるコードをうpやな
できんかったらアホ扱いやで
0650デフォルトの名無しさん
2017/03/30(木) 03:29:47.15ID:nVOZ71qDもう布団いくでほんじゃあな
0651デフォルトの名無しさん
2017/03/30(木) 07:15:18.58ID:GTk/dUnnオブジェクト指向がいかに
素晴らしいか語らうスレだろ
猫のドアから
性の悦びまで与えてくれるんだぞ
0652デフォルトの名無しさん
2017/03/30(木) 07:29:51.45ID:IGixA1Qpマジ薬中かなんかなん?
最後には誰も聞いてねぇのに寝る寝る騒ぎ出すし
書き込みがことごとく基地外過ぎるだろ、繋いどけよ家族
0653デフォルトの名無しさん
2017/03/30(木) 07:42:36.08ID:41dNcfyJ0654デフォルトの名無しさん
2017/03/30(木) 08:18:17.98ID:o354xqK8ここが唯一のセーフティネットなんだ
0655デフォルトの名無しさん
2017/03/30(木) 08:28:13.25ID:9khgRv1/これは嫌だなー。。本当?
0656デフォルトの名無しさん
2017/03/30(木) 08:29:37.83ID:IGixA1Qpいや、ミン剤くんは、それにブチギレした変な人
0657デフォルトの名無しさん
2017/03/30(木) 09:01:46.72ID:Y2Gx9wEv"ドアにドアストッパーを設置(traitを使用)"
bドア := aドア as: ドア newSubclass.
bドア class rename: #ストッパー付きドア.
bドア addInstanceVarNamed: #ストッパー withValue: #解除.
ストッパー付きドア compile: 'ストッパー ^ストッパー'.
ストッパー付きドア compile: 'ストッパー: 固定か解除 ストッパー := 固定か解除'.
"bドア ストッパー: #解除 => compile error: Private messages may only be sent to self"
Trait named: #Tドアストッパー uses: #() category: 'UserObjects'.
Tドアストッパー compile: 'ストッパーを外す self ストッパー: #解除'.
Tドアストッパー compile: 'ストッパーをかける self ストッパー: #固定'.
Tドアストッパー compile: 'ストッパーかかっている? ^self ストッパー == #固定'.
Tドアストッパー compile: '押す self ストッパーを外す. super 押す'.
Tドアストッパー compile: '引く self ストッパーかかっている? ifFalse: [super 引く]'.
ストッパー付きドア uses: Tドアストッパー.
bドア ノブ 回す. bドア 押す; 開いている?. "=> true "
bドア ストッパーをかける; 引く; 閉じている?. "=> false "
bドア ストッパーを外す; 引く; 閉じている?. "=> true "
bドア ノブ 回す. bドア 押す; 開いている?. "=> true "
bドア ストッパーをかける; 引く; 閉じている?. "=> false "
bドア 押す; 引く; 閉じている?. "=> true "
0658デフォルトの名無しさん
2017/03/30(木) 09:03:50.12ID:Y2Gx9wEv"ドアにドアクローザーを設置(こちらはオーバーライドで済むので継承で)"
cドア := aドア as: ドア newSubclass.
cドア class rename: #クローザー付きドア.
cドア addInstanceVarNamed: #遅延 withValue: 3 seconds.
クローザー付きドア compile: '遅延: 秒 遅延 := 秒'.
クローザー付きドア compile: '押す
super 押す.
self 開いている? ifTrue: [[遅延 asDelay wait. self 引く] fork]'.
cドア ノブ 回す. cドア 押す. {cドア 開いている?. cドア 閉じている?} "=> #(true false) "
4 seconds asDelay wait. cドア 閉じている?. "=> true "
"ドアストッパーとドアクローザー、両方ついているドア(traitを使用)"
dドア := cドア as: クローザー付きドア newSubclass.
dドア class rename: #ストパクロザ付きドア.
dドア addInstanceVarNamed: #ストッパー withValue: #解除.
ストパクロザ付きドア compile: 'ストッパー ^ストッパー'.
ストパクロザ付きドア compile: 'ストッパー: 固定か解除 ストッパー := 固定か解除'.
ストパクロザ付きドア uses: Tドアストッパー @{#aliasストッパーを外す -> #ストッパーを外す}.
ストパクロザ付きドア compile: 'ストッパーを外す self aliasストッパーを外す. super 押す'.
dドア ノブ 回す. dドア 押す. {dドア 開いている?. dドア 閉じている?}. "=> #(true false) "
4 seconds asDelay wait. dドア 閉じている?. "=> true "
dドア ノブ 回す. dドア 押す. {dドア 開いている?. dドア 閉じている?}. "=> #(true false) "
dドア ストッパーをかける. 4 seconds asDelay wait. dドア 閉じている?. "=> false "
dドア ストッパーを外す. 4 seconds asDelay wait. dドア 閉じている?. "=> true "
0659デフォルトの名無しさん
2017/03/30(木) 09:03:59.36ID:IGixA1Qp0660デフォルトの名無しさん
2017/03/30(木) 12:55:27.07ID:M03Rbfp80661デフォルトの名無しさん
2017/03/30(木) 17:24:36.73ID:Y2Gx9wEv> 日本語で書かれると、ここまで読みづらくなるという
いちいち英語表現を考えるのが面倒で、つい日本語でやり始めちゃいました。すみません。
改めて、>>557,560,657,658 のメソッドや変数名などを英語で書き直したのも書きました。
http://ws.stfx.eu/4Z3UG9LYB5FK
なおPharoのコード共有機能を使って公開していますが、Pharoではこれらの式の多くは評価できません。
(Squeak独自のAPIをいろいろ叩いているので)
参考まで、オーソドックスにクラスを定義するコードにも落としておきました。
http://ws.stfx.eu/DG7M9JMU9YMS
これならPharo Smalltalkでも動きます。
(RawをRPT-Door.stなどと名前を付けて保存し、PharoからTools → File Browser → Filein)
もっともこんなふうにクラス定義を起こしてしまえば他言語でも代り映えしないので、
試しにRubyにも移植しておきました。当初のオブジェクトと対話しながら作り上げる感じは無くなっちゃいますけど。
http://ideone.com/or6JyE
0662デフォルトの名無しさん
2017/03/30(木) 18:28:59.57ID:b9TSGOCH562だが、純粋仮想関数の引数を追加したときに使う。
予め派生クラスがオーバライドしている状況で基底クラスのメソッドの引数を追加する。
派生クラスが一段(子クラス)なら純粋仮想関数で警告が見でるが、多重派生(孫クラス)していると子クラスがあるから警告がでない。
ようは派生クラスの孫まで引数を一致させることをコンパイル段階で検出したい。
フレームワーク全盛で保守を続ける場合、かならず起きるバグ。それを潰したい
0663デフォルトの名無しさん
2017/03/30(木) 18:29:01.48ID:LEwdK5Fw0664デフォルトの名無しさん
2017/03/30(木) 18:37:02.18ID:b9TSGOCH孫に引数追加漏れを起こしたとき、実行して、その孫クラスのインスタンスでメソッドを呼ばないとわからない。
そのふるまいは、孫のはずが子クラスの処理するから昨日不全や意図しない動作になってハマる。
なので修飾子をつけたら派生クラスはメソッドを同じ引数と名前で作ってなかったら
「変更をお漏ししてるよ?雑魚が」
とコンパイラが警告してほしい。
0665デフォルトの名無しさん
2017/03/30(木) 18:38:29.99ID:b9TSGOCHシャープやJavaとかの後発なら当然出来るんじゃないかと思ってもいる。
0666デフォルトの名無しさん
2017/03/30(木) 22:02:09.80ID:5QdmhTYf孫があっても引数追加したら子クラスと合わなくなるから
子クラスのほうで必ずエラーでるだろ
0667デフォルトの名無しさん
2017/03/30(木) 22:28:31.73ID:Babdh16b親クラスと子クラスを修正して孫クラスが修正漏れの時、
コンパイルエラーにならないという話だろう。
●改変前
親:virtual int a(int b) = 0; ←純粋仮想関数
子:int a(int b){} ←オーバーライド
孫:int a(int b){} ←オーバーライド
●改変後
親:abstruct int a(int b, int c) = 0; ←引数追加
子:int a(int b, int c){} ←引数追加
孫:int a(int b){} ←修正漏れ、オーバーロードになる
0668デフォルトの名無しさん
2017/03/30(木) 22:30:34.00ID:Babdh16b○ 親:virtual int a(int b, int c) = 0; ←引数追加
Javaが混じってしまった。
0669デフォルトの名無しさん
2017/03/30(木) 22:56:08.66ID:gGp/SYAm@Override をつければコンパイルエラーになる
0670デフォルトの名無しさん
2017/03/30(木) 22:58:26.63ID:5QdmhTYfC#は大丈夫だけどJavaは@overrideつけてないとだめかな
0671デフォルトの名無しさん
2017/03/30(木) 23:04:19.44ID:ap45rSI5クソなSmalltalkのコードが連投された時はどうなることかと思ったけど、
マトモな話になってるね
0672デフォルトの名無しさん
2017/03/30(木) 23:09:19.98ID:S+GupbQt0673デフォルトの名無しさん
2017/03/30(木) 23:12:03.75ID:gGp/SYAm0674デフォルトの名無しさん
2017/03/30(木) 23:30:49.96ID:Ni3DJSOS0675デフォルトの名無しさん
2017/03/30(木) 23:58:38.98ID:kr0iImC9とりあえず>>391の1(b)までのオブジェクト指向の例は出たのだから
>現実の構造を表現するなら、連想配列のほうが表現力は上
とか言ってたヤツはこれを凌駕するコード出せ
0676デフォルトの名無しさん
2017/03/31(金) 00:08:49.80ID:xzhcWqnpプロトタイプベースのオブジェクト指向ならjsでもluaでも連想配列はあるし
0677デフォルトの名無しさん
2017/03/31(金) 00:27:09.29ID:H7XDmqS10678デフォルトの名無しさん
2017/03/31(金) 00:37:40.28ID:IVZLVoClまさか1スレぐらい人気続くと思わなかったわ
"満場一致で"満足いく"自然な"答えは得られたかい?
ってのが重要な意図なんだけど
0679デフォルトの名無しさん
2017/03/31(金) 00:50:10.69ID:lne8XdLn0680デフォルトの名無しさん
2017/03/31(金) 00:52:39.26ID:ywC1ipWXそりゃ愛想つかされるだろ
0681デフォルトの名無しさん
2017/03/31(金) 01:01:41.62ID:H7XDmqS1オブジェクト指向じゃなくても良くね?という話はNG
0682デフォルトの名無しさん
2017/03/31(金) 05:09:26.00ID:0K4W1CIv0683デフォルトの名無しさん
2017/03/31(金) 06:37:49.84ID:sUNIpGB00684デフォルトの名無しさん
2017/03/31(金) 07:06:10.95ID:1f3bJ8bv小並感満載の屁理屈で後出しジャンケンしてんじゃねーよ
なんだかんだ言って結局コードは書けないんだろ?
ちゃんと読めてるかどうかすら怪しいわ
0685デフォルトの名無しさん
2017/03/31(金) 07:29:31.17ID:1f3bJ8bvストラウスストラップらの「抽象データ型をクラスでやるOO」と
ケイの「メッセージの受け手をオブジェクトにやらせるOO」の少なくとも二つ、
さらには後者のシンプリシティを追求した「プロトタイプOO」や
これらを意識して混ぜたり、理解できなくて混同する奴もうじゃうじゃいて
コンセンサスすら得られてないんだからどだい無理
一致したら対抗コード出すみたいなのは端から出す気がないのバレバレ
0686デフォルトの名無しさん
2017/03/31(金) 07:41:23.91ID:IVZLVoCl0687デフォルトの名無しさん
2017/03/31(金) 07:48:55.70ID:cvdYyXTA0688デフォルトの名無しさん
2017/03/31(金) 08:39:42.79ID:vW58ZqWMまともなtraitsか最悪mixinがあれば、たとえばPHPだって書けるシンプルなオブジェクト指向のコードだろ
(くしくもRubyのmixinがtraitsに対して不完全であることがわかる例にもなっていて笑える)
0689デフォルトの名無しさん
2017/03/31(金) 09:03:10.29ID:xC6OHsgz0690デフォルトの名無しさん
2017/03/31(金) 10:50:27.90ID:IbZDcdEL文法を語るに値するのかしら
0691デフォルトの名無しさん
2017/03/31(金) 11:13:14.93ID:T5xyE4x50692デフォルトの名無しさん
2017/03/31(金) 13:12:17.54ID:EQTp78mJ0693デフォルトの名無しさん
2017/03/31(金) 14:28:48.23ID:2HzJw//0これが正解
0694デフォルトの名無しさん
2017/03/31(金) 14:31:30.01ID:2HzJw//0オブジェクト指向で勘違いされやすいところ
主語をオブジェクトにしたらいかんのですよ
0695デフォルトの名無しさん
2017/03/31(金) 15:19:13.07ID:jUUN27r5これ
自然言語能力が1番大事!
0696デフォルトの名無しさん
2017/03/31(金) 15:31:30.47ID:XZKlqyQZ目的語がどうされるか、ってことか
0697デフォルトの名無しさん
2017/03/31(金) 16:16:39.53ID:WzS7AZAh状況によってどう作るのがいいかは変わってくるから
それに考え方によって何が主語なのかも変わる
door.open()はdoorにopenしてねって依頼してる
人に仕事依頼するのと同じ
この場合ドアがドア自身を開ける
0698デフォルトの名無しさん
2017/03/31(金) 16:41:15.67ID:i0FUDyg+オブジェクト志向を現実例えるからこんなしょうもない議論を産む
0699デフォルトの名無しさん
2017/03/31(金) 16:58:42.09ID:EFNllGPIopen method of doorだ
つかまだネコドアの話してるのかw
0700デフォルトの名無しさん
2017/03/31(金) 18:33:44.13ID:WzS7AZAh現実の設計ならドアをクラスにすべきかどうかから考えないといけないわけで
常にdoor.open()がいいとは限らんよ
0701デフォルトの名無しさん
2017/03/31(金) 18:41:08.16ID:4qwJlBYL例えば自動ドアで人には反応するけど猫には反応しないならdoor.open(cat)とするのが分かりやすいと思う
後はドアは1種類だけど開ける対象(人、猫、猿、、、)が多くて対象によって開けれるかどうかが違うなら、ドア自体は対象を気にせず、開ける側で開けれるか判断する方が収まりがいい
ドアの種類と開ける対象の組み合わせで開く/開かないが変わる場合が考えどころでは?
0702デフォルトの名無しさん
2017/03/31(金) 18:47:14.60ID:OV1cbLT2なんだ? そのセキュリティの概念の欠片もない案
0703デフォルトの名無しさん
2017/03/31(金) 18:52:02.79ID:FcWj0OtHこのスレでは>>391により複雑なDoorクラスがある前提だからdoor.open()が正しい。
実際にソフトウェアを作る時は単純になるモデルを考えるのはその通りだと思う。
0704デフォルトの名無しさん
2017/03/31(金) 19:00:01.88ID:WzS7AZAh属性についてしか書いてないし
0705デフォルトの名無しさん
2017/03/31(金) 19:02:37.39ID:LvE5/jil猫は人間と同じ認識でドアを捉えてはいない
ただ通路をふさぐ物体をどけているだけだ>>391
ドアの開け方は基本しらないから猫にdoor.open()メソッドは使えないはず
0706デフォルトの名無しさん
2017/03/31(金) 19:07:09.75ID:OV1cbLT2それ、前スレからずっと言ってるのに、アホどもはどうしても猫がopenメソッド使えると言い張ってるのさ。
0707デフォルトの名無しさん
2017/03/31(金) 19:09:03.08ID:4qwJlBYL直近のスレだけ目を通してたから詳細な前提条件があるの知らなかった
教えてくれてありがとうございます
0708デフォルトの名無しさん
2017/03/31(金) 19:28:15.64ID:FcWj0OtH>>701のようにdoor.open(cat)として押して開くドア以外は開かなければ>>391は守れる。
door.push(weight)でもいいけど猫は通りたくて押すのだからdoor.open(cat)でもよい。
0709デフォルトの名無しさん
2017/03/31(金) 19:31:31.32ID:4qwJlBYLそんなこと言い出したらドアだって押し戸は開けられた(open)なんて認識せず押された(push)と認識するのでは?
0710デフォルトの名無しさん
2017/03/31(金) 19:32:34.81ID:cvdYyXTA扉は猫じゃなきゃ開けらんないの?
0711デフォルトの名無しさん
2017/03/31(金) 19:41:42.39ID:OV1cbLT2だめに決まってんだろ、まだわかんねーのか?
>>710
元のお題読では、犬もいるかもしれなくて、開けられる事になってる。
フェレットもいるかもしれないし、ウサギもフクロウもいるかもしれない。
ひょっとしたらカバやラクダもいるかもしれないな。
だから>>708はダメだと言っているのに、こいつら、全く話聞かねぇのよ。
0712デフォルトの名無しさん
2017/03/31(金) 19:42:25.09ID:LvE5/jil猫がドアのことを知らないのと、ドアがドア自身のことを知らないのは別の話だ
それにコード上、Cat->Doorとコード上の依存ができたら猫はドアライブラリのない世界で生きていけなくなってしまう
door.open(), door.push()(親のmaterialかなんかを継承)と抽象度の異なるメソッドができるのは気持ち悪いが仕方ない
0713デフォルトの名無しさん
2017/03/31(金) 19:42:39.02ID:LvE5/jilJava型のオブジェクト指向の泣き所を的確にとらえてる
そして猫とドアというセンス
これたまたま思いついて書いたんじゃないだろ
どっかに転がってたんだろ正直に言え!
0714デフォルトの名無しさん
2017/03/31(金) 19:45:21.22ID:4qwJlBYL引数の型はCatでは無くドアが開けれる条件を知るためのインタフェース
ドアノブ回せるか?押す荷重は?て感じになる
catはインタフェースを実装してるだけ
0715デフォルトの名無しさん
2017/03/31(金) 20:33:21.82ID:SfUEPmxo0716デフォルトの名無しさん
2017/03/31(金) 20:40:27.81ID:OnVWZsDN"このドアは「開け!」という命令で開くように決めた"という読む側のお約束の話であって、
ネコがpushしようがcall mewしようがそれはプログラマー(ヒト)が
"これがネコの「開け」である"って解釈して実装するだけの話。
「ここに暴れたら退店してもらうって書いてあるけど
うんこ!うんこは暴れるに入るの!?しょんべんは!?
張り紙なんて無効だよね!!」とかアスペルガー知障が暴れ喚いてるの
なんで相手してんだよw 議論じゃなくて退店だよw
0717デフォルトの名無しさん
2017/03/31(金) 20:50:19.64ID:OV1cbLT2>"これがネコの「開け」である"って解釈して実装するだけの話。
その部分実装してたやつ、一人もいねーじゃん
0718デフォルトの名無しさん
2017/03/31(金) 21:06:25.26ID:4qwJlBYLopen関数の実装をなんて名前のファイルに保存しよう?って考えるのもdoor.openとするのも人の認識度を上げるって意味では同じじゃないかな
どっちのopenも実装の中身は変わらないと思うし
>>716
おっしゃる通り、藪を突いてすいません
0719デフォルトの名無しさん
2017/03/31(金) 21:12:11.49ID:LvE5/jilpush()はドアを押すだけ
言葉の上だけのちがいじゃないだろ
0720デフォルトの名無しさん
2017/03/31(金) 21:14:22.06ID:dseKSPuYふすまはpushすると開くだろ
0721デフォルトの名無しさん
2017/03/31(金) 21:19:11.54ID:LvE5/jil0722デフォルトの名無しさん
2017/03/31(金) 21:23:17.43ID:SfUEPmxoそれ以上の話はバックグラウンドがないとどうしようもないな。でも、ドアの状態を変更させるならドアの実装に近いところにないと意味分からなくなるな
0723デフォルトの名無しさん
2017/03/31(金) 21:24:59.58ID:y15g6khc例えばそのドアクラスと猫クラスを扱うのがWebアプリだったら、DBからインスタンス化に必要なデータを読み書きするわけだが、現実のドアと猫の関係にDBなんて無い。
それぞれがDBとやりとりするメソッド書くのか、別にDBクラス作って、ドアと猫を管理させるのかとか、そう言う現実とは別の視点の切り分けでオブジェクト指向をしなきゃいけないのに、現実に無理やり合わせようとするから悲劇が起きるとか何とか。
0724デフォルトの名無しさん
2017/03/31(金) 21:25:59.06ID:dseKSPuYあぁ、よくある偉そうに間違いだと言いはるだけで、
代替案を出せないってやつだなw
0725デフォルトの名無しさん
2017/03/31(金) 21:28:32.80ID:NJLeaTk90726デフォルトの名無しさん
2017/03/31(金) 21:33:41.69ID:dseKSPuY例え話っていうのは「例え」なのだから
そのものとは違うのは当たり前。
例えである以上、そのものとは違うものなんだから、
違うところがあると指摘する意味がない。
例えは物事を理解しやすくするためのもの。
なお、例えを使って馬鹿にする行為は
例えである以上そのものとは違うので意味がない
0727デフォルトの名無しさん
2017/03/31(金) 21:52:15.39ID:cvdYyXTAでもそれに対して罵倒で対応したりただただバカにする対応は本当に嫌い
0728デフォルトの名無しさん
2017/03/31(金) 21:53:44.40ID:fE+99Cns代替案出さないで文句ばっかり言う奴いるよな
0729デフォルトの名無しさん
2017/03/31(金) 21:53:55.11ID:SfUEPmxo0730デフォルトの名無しさん
2017/03/31(金) 21:54:53.33ID:dseKSPuY理解しやすくなるぞw
0731デフォルトの名無しさん
2017/03/31(金) 21:55:27.20ID:OV1cbLT2お前の好き嫌いなんて聞いてない
0732デフォルトの名無しさん
2017/03/31(金) 21:56:48.49ID:SfUEPmxo動物に例えた理解でもの作ったことある?
俺は動物で理解してた頃はてんでメンテナンス性の低いものばかり作ってたけど、動物の理解をやめたらメンテナンス性めっちゃ上がったんだけど
0733デフォルトの名無しさん
2017/03/31(金) 21:57:16.67ID:NJLeaTk9openは結果をも含めた概念だがpushはそうではないだろう
0734デフォルトの名無しさん
2017/03/31(金) 21:57:30.24ID:cvdYyXTAそーだね
なんか心当たりでもあるの?
0735デフォルトの名無しさん
2017/03/31(金) 21:58:18.41ID:SfUEPmxo0736デフォルトの名無しさん
2017/03/31(金) 22:00:54.69ID:dseKSPuYお前は例えにおける理解のプロセスがおかしい。
何も知らない状態で理解するのが難しいから
例えを使う。
例えを使うことで、既存の知識とつなげて理解しやすくなる。
その上で理解を深めて初めて使いこなせるようになる。
例えの情報だけでものを作ろうとしているそのやり方が間違ってるんだよ。
例えをきっかけに知識を深めて、ものを作るのが正しいやり方なんだよ
0737デフォルトの名無しさん
2017/03/31(金) 22:01:32.39ID:NJLeaTk90738デフォルトの名無しさん
2017/03/31(金) 22:04:16.69ID:dseKSPuY「例えでは完璧に説明することが出来ない」という
言い方をするんだよなw
例えは所詮例えなんだから当然そのものとは違う。
ゆえに例えだけで完璧に説明できないのは当たり前の話。
例えは理解するきっかけとなれば、それで十分な効果があったと
みなすべきなんだよ。
0739デフォルトの名無しさん
2017/03/31(金) 22:06:01.05ID:NJLeaTk90740デフォルトの名無しさん
2017/03/31(金) 22:08:55.76ID:OV1cbLT2無いと思ったのか? おまえ、バカだろう?
0741デフォルトの名無しさん
2017/03/31(金) 22:10:03.71ID:cvdYyXTA俺、おまえ嫌い
以上
0742デフォルトの名無しさん
2017/03/31(金) 22:10:48.41ID:2D51TYwbたとえ話が必要なアホを消滅させればどうか
0743デフォルトの名無しさん
2017/03/31(金) 22:12:28.64ID:SfUEPmxoせやな。そんで一回動物の例えをきっかけに理解したらあとはキャットドア議論とかするより、実際にものを作って理解していくほうがいいな
0744デフォルトの名無しさん
2017/03/31(金) 22:13:26.59ID:dseKSPuYもっと良い例えを言えないのも説明できて、
どんな例えであっても、それが例えである以上
なにかしら説明できない部分があるからなんだよ。
例え(動物)で完璧に説明できないと言っているやつは、
同じようにその他の例えでも完璧に説明できないことに気づいて
代替案を出すことが出来ない。
0745デフォルトの名無しさん
2017/03/31(金) 22:17:04.84ID:IU/scL0A結局どんな設計になるの?
コードで示してもらえますか?
0746デフォルトの名無しさん
2017/03/31(金) 22:25:18.23ID:LvE5/jilタイヤとハンドルととエンジンと車体で車つくって!
っていうのが一番最初の課題だった
0747デフォルトの名無しさん
2017/03/31(金) 22:28:47.95ID:dseKSPuYタイヤを継承して何かができるとかいう話をしたの?
0748デフォルトの名無しさん
2017/03/31(金) 22:32:26.37ID:LvE5/jil車が海にもぐったり空飛べるようになったりするよ!
0749デフォルトの名無しさん
2017/03/31(金) 22:33:57.66ID:cvdYyXTAタイヤって言うインターフェースを使ってスタッドレス履かせた時とそれ以外のタイヤを履かせた時でクルマの動きが違う
って感じじゃないの
0750デフォルトの名無しさん
2017/03/31(金) 22:34:49.08ID:LvE5/jil天才
0751デフォルトの名無しさん
2017/03/31(金) 22:35:05.67ID:dseKSPuY出してもわからないだろうなw
0752デフォルトの名無しさん
2017/03/31(金) 22:35:33.24ID:dseKSPuY出してもわからないだろうなw
0753デフォルトの名無しさん
2017/03/31(金) 22:42:52.67ID:cvdYyXTA0754デフォルトの名無しさん
2017/03/31(金) 22:51:57.26ID:y15g6khc結局、オブジェクト指向の後にテンプレートとかジェネリックとか言われるものが出てきたけど、結局継承なくてもジェネリックとインターフェースの組み合わせだけでええやんけって言う。
0755デフォルトの名無しさん
2017/03/31(金) 22:56:00.94ID:j+49GCZB継承はオブジェクト指向に必須でもなんでもないんですよC++おじいちゃん…
0756デフォルトの名無しさん
2017/03/31(金) 22:58:13.52ID:dseKSPuYというか、オブジェクト指向に必須のものなんか
最初からなにもなくて、
オブジェクト指向を実現しやすいかどうかの差でしかないんだよ。
0757デフォルトの名無しさん
2017/03/31(金) 22:59:35.39ID:LvE5/jil0758デフォルトの名無しさん
2017/03/31(金) 23:04:24.78ID:cvdYyXTAとしか言えないな
0759デフォルトの名無しさん
2017/03/31(金) 23:34:10.24ID:NJLeaTk9それが認識できてよかったじゃないか
0760デフォルトの名無しさん
2017/03/31(金) 23:38:28.76ID:H7XDmqS10761デフォルトの名無しさん
2017/03/31(金) 23:40:00.97ID:lne8XdLnIDEのアシストが必須なのは言語としてどうなんだろうとは思う
0762デフォルトの名無しさん
2017/04/01(土) 00:20:16.27ID:wCPKKmbA省略できたり、
表記を統一できる便利機能でしょ
恒温動物の体温調整メソッドを
人間クラス、犬クラス、鳥クラス、猫クラス
それぞれに全部書く羽目になるし
あと歩行メソッドは二足歩行か四足歩行かで
実装を書き分けられるし
Evaluation: Good!
0763デフォルトの名無しさん
2017/04/01(土) 00:34:27.91ID:0NnmDAklもともと、goto文でスパゲティになってモジュールに分離できなくなっちゃうから
ひとまとめの関数に入力>出力みたいにスッキリさせようで構造化プログラミングが出て
今度はモジュールがどこまで何をやるのかがわけわかんなくなるから
モジュールにコマンドの形で仕事を与えてそのモジュールに責任範囲を限定することで
修正範囲を局所化最小化しようというのがオブジェクト指向だから
仕様ではなくて単なる考え方だ。
オブジェクト指向言語はその考え方に沿ってモジュール(オブジェクト)の取り回しが
言語仕様にそれぞれ入ってるだけだから老人コーダの繰り言で出てくる
「構造化プログラミングなんてマシン語でもBASICでも〜」とかといっしょで
別に「オブジェクト指向なんてCでも〜」とかいくらでも言える。
ただ「自動車」が「馬なし馬車」じゃないのといっしょで
それぞれ専用の様々なオブジェクトの取り回しが用意されてるオブジェクト指向言語があるのに
そういうものが用意されてない旧言語でもできる!って強弁は
「馬を外した俺の馬なし馬車でも保安器とエンジンつければ公道走れる!」ぐらい無駄で無意味だ。
Evaluation: Good!
0764デフォルトの名無しさん
2017/04/01(土) 00:51:04.74ID:0NnmDAkl逆に"プログラミングにおいて不具合や後からの手直しは絶対に必要になるから"という前提が存在するからなので
"だいたいおまえはこういうことをやるオブジェクト"という『ゆるさ』も前提で
それが現実にもマッチするから今日まで発展してきた。
翻ってよく理解してないっぽいプログラマーに限って「オブジェクト指向に代わる〜」といってみたりする"関数型プログラミング"は
その最大の利点が「副作用のない」(=厳密な=不具合の入る余地のない)なのだが
オブジェクト指向が『ゆるさ』で吸収している部分がどう聞いても
厳密な関数の『外』に追い出される形で周りに波及するようにしか聞こえない。
そうなるとまさにオブジェクト指向が指向している『責任(修正)の局所化』とは真逆の
まるで希望があるらしいからパンドラの箱とやらを開けてみようぜ!的なマヌケ論にしか見えないので
信者以外の関係ない人々は「あーやりたいならやってみ?結果見てるから」となってみんな眺めてるが
いっこうに普及しそうにない。
Evaluation: Good!
0765デフォルトの名無しさん
2017/04/01(土) 00:57:30.57ID:mzsUNDdlオブジェクトとオブジェクト指向って全く違うものだが
Evaluation: Average.
0766デフォルトの名無しさん
2017/04/01(土) 01:01:19.48ID:vxnrpS46>モジュールにコマンドの形で仕事を与えてそのモジュールに責任範囲を限定することで修正範囲を局所化最小化しようというのがオブジェクト指向だから
↑
これにみんなが同意しているわけじゃないって意味で「ガバガバ」と言ってるんじぇね?
0767デフォルトの名無しさん
2017/04/01(土) 01:02:15.24ID:0NnmDAkl0768デフォルトの名無しさん
2017/04/01(土) 01:11:26.47ID:FRLTAWk8>オブジェクト指向が『ゆるさ』で吸収している部分がどう聞いても
これよくわからないので具体例で説明してくれる?
0769デフォルトの名無しさん
2017/04/01(土) 01:15:20.30ID:vxnrpS46C++が死んだって無知すぎて冗談にもならないよ
0770デフォルトの名無しさん
2017/04/01(土) 04:33:23.60ID:wCPKKmbAコントロール出来れば最強
0771デフォルトの名無しさん
2017/04/01(土) 05:19:07.44ID:PxbGeRPT関数型がオブジェクト指向に変わる事はないけどオブジェクト指向+関数型はありだろう。
オブジェクト指向は状態と変更処理の一体化で状態変更処理を局所化するのに対し、
関数型は呼び出し側のみが状態を扱うことで状態変更処理を局所化できる。
下位関数は状態を持たないから不具合が入りにくく不具合は上位関数に集中する。
テストが必要なコードを減らす方法として間違ってはいないと思う。
Scalaは順調に普及しているのでは?
0772デフォルトの名無しさん
2017/04/01(土) 07:16:34.85ID:OVU2l+2T0773デフォルトの名無しさん
2017/04/01(土) 07:18:04.42ID:wCPKKmbAプログラミング出来ないの?
0774デフォルトの名無しさん
2017/04/01(土) 07:24:42.21ID:jNYd6yua比較のしようもない
0775デフォルトの名無しさん
2017/04/01(土) 07:41:13.28ID:SjWDLzdr0776デフォルトの名無しさん
2017/04/01(土) 08:27:58.61ID:qoKXZv+fモジュールの派生ができない感じかな
テンプレートはプリプロセッサのマクロで頑張ればいける。
アクセス制御は、static関数(モジュールローカル関数)でなんとかなる。
仮想関数は、関数テーブルで実装はできるが、やりたくはない。
というか答えのぼた餅を当然のようにチーンマダー?ってのは負け組になり原因だぞ
0777デフォルトの名無しさん
2017/04/01(土) 08:30:22.66ID:qoKXZv+fどうせ中間コードにコンパイルするんだから、プリプロセッサが機能面で矛盾するわけない。
0778デフォルトの名無しさん
2017/04/01(土) 08:36:32.01ID:GaziwjkShas_knob
open_type
…
force_to_open←
}
超簡単
0779デフォルトの名無しさん
2017/04/01(土) 10:15:14.47ID:4Hv4UrE90780デフォルトの名無しさん
2017/04/01(土) 10:50:52.02ID:/hee7SvR殆どのプログラマーに廃れろって思われてる言語なのに、いちいち流行取り込んでなんとか生き残ろうとしてるのがほんと害悪
0781デフォルトの名無しさん
2017/04/01(土) 11:12:44.53ID:vxnrpS46うまく取り込められるかで評価するスタンスで
0782デフォルトの名無しさん
2017/04/01(土) 12:33:46.69ID:PLMceBQaメモリマッピングできる言語が無くなることなんてないし必要とされてないこともない
0783デフォルトの名無しさん
2017/04/01(土) 16:27:49.06ID:PDO54GcUそこが継承の限界。
例えばジェネリックで温度調節メソッドを作れば、受け取るクラスがクーラークラスだろうが人間クラスだろうが使える。
用途は室温調節か体温調節かはクラスがどう使いたいかで必要に応じてパラメータ渡せば良い。
引数に渡す形ではなく、クラスとしてくくり出して、クーラークラスや人間クラスが温度調節クラスを持っても良い。
継承のis aではなく、譲渡のhas aは最近のオブジェクト指向でもみだりに継承すべきでは無いと言う事で推奨されてる。
0784デフォルトの名無しさん
2017/04/01(土) 18:49:34.98ID:PxbGeRPT論旨に異論はないけど「譲渡」ではなく「委譲」が定訳だろう。
「継承より委譲」は20年前にGOF翻訳初版で推奨していた。
オブジェクト指向はOOPを重視する事で実用的な道具になったと思う。
GOF本と同時期の憂鬱本がしばらく名著扱いされていたのは
オブジェクト指向導入に役立ったがオブジェクト指向活用を遅らせた。
(GOF翻訳初版1997年、憂鬱本1998年、GOF翻訳改訂版1999年)
憂鬱本を買ってみました
http://d.hatena.ne.jp/minekoa/20080503/1209799681
>この本のまずいところはいっぱいあるのだけれど、大きなのを二つだけ。
>一つはポリモーフィズムの意味や使いどころを著者自身が理解していない所です。
>もう一つの大きな問題は OOAD に偏重し OOP をないがしろにした内容です。
>OO とは現実の概念をそのままプログラムに落としこむこと としています。
憂鬱本レビューの補足
http://d.hatena.ne.jp/minekoa/20080504/1209933997
>カモノハシ本 の5章では、エイトクイーンパズルを解いていますが、これは
> Queen オブジェクト自体に「取られない位置に進む」
> 「この位置を自分が攻撃できるか?を答える」という責務を持たせる
>Queen の駒が現実で勝手に自分の攻撃されない位置を求めて動くなんてありません。
>つまり、これは現実の写像ではありません。でも良いデザインです。
0785デフォルトの名無しさん
2017/04/01(土) 19:04:54.58ID:6h0tz18O自分も違う気はしたけど、だいぶ離れてたから用語忘れて^^;
意味が通じれば良いかと。
0786デフォルトの名無しさん
2017/04/01(土) 20:24:03.39ID:DrbHkd9R> 例えばジェネリックで温度調節メソッドを作れば、受け取るクラスがクーラークラスだろうが人間クラスだろうが使える。
使えんよw
あんた温度調整メソッドの中身がインバーター制御であるとき、
それが人間クラスにも使えるとでも思ってんの?w
使い回しできるのはインターフェース定義だけだ。
メソッドの中身はクラスごとに違う
(例外的に同じものが使える場合もあるが)
0787デフォルトの名無しさん
2017/04/01(土) 21:07:06.41ID:oVxxWPWl逆に言えばインターフェースさえ持たせりゃ人間だろうがクーラーだろうが温度調整メソッド実行可能て事だな
インバータとやらが無いから人間にゃ使えない??
nullでも返しとけ
0788デフォルトの名無しさん
2017/04/01(土) 21:15:17.11ID:9Eckjtd/ジェネリックで温度調節メソッドを作っても
人間だとぬるぽになってエラーになるから使えないなw
0789デフォルトの名無しさん
2017/04/01(土) 21:24:01.32ID:oVxxWPWl温度調節クラスにそのインバーターとやらが絶対必要なのがまずおかしい
クラスにするなら物事の方法論は出来るだけ書くべきじゃない最小限にすべきだ
温度調節なら火でも出来る。カーテンを開けてでも出来る。人間でも密閉空間で二酸化炭素貯めても出来る
インバータとやらを絶対必要なクラスにしてもいいがホントに絶対必要か温度調節クラスの再定義をすべき
0790デフォルトの名無しさん
2017/04/01(土) 21:25:15.49ID:9Eckjtd/絶対必要だとは言ってない
クーラーと人間で同じ温度調節メソッドは使えないって言ってんの
0791デフォルトの名無しさん
2017/04/01(土) 21:37:24.77ID:oVxxWPWl作り方が逆だ。クーラーには使えて人間には使えないという話を後でどのタイミングでも持って来られてもいいようにクラスを組まなきゃいけないのに
インバータはクーラーは使えるけど人間は使えないよどうすんの?って話が出る事自体、温度調節クラスの作り方を間違えてる
パーツが必要かどうかはサブクラスでするか最初からそれありきの話にすべき
少なくとも温度調節なら暖炉でも可能だし温度調節クラスの再定義すべき
0792デフォルトの名無しさん
2017/04/01(土) 21:44:56.50ID:FRLTAWk8OOならインターフェースも使ってジェネリクスを定義することになる
0793デフォルトの名無しさん
2017/04/01(土) 21:51:05.09ID:9Eckjtd/何を言いたいのかさっぱりわからん。
「温度調節メソッド」って話をしてるよな?
なんでお前の話から、メソッドが抜け落ちてる?
わざとか? ごまかしか?
継承の限界を打ち破るために「温度調節メソッド」を作れば
受け取るクラスがクーラークラスでも人間クラスでも使えるんじゃなかったのか?
俺はそれを使えないと言ったが、お前は「温度調節メソッド」を
どのクラスでも使えるように作ればいいと言った。
どのクラスでも使える「温度調節メソッド」であれば、
それは継承でも実現できるだろ。
0794デフォルトの名無しさん
2017/04/01(土) 21:53:45.19ID:HRxtHhPUそれ人間渡しちゃいけない関数に人間渡してもコンパイル時に判定できなくて、使ってる時に突然ヌルポで死ぬかもしれないやん。怖すぎかよ
0795デフォルトの名無しさん
2017/04/01(土) 22:02:26.69ID:oVxxWPWl温度調節クラスのインターフェース、委譲を使った温度調節メソッドの話やな
そのメソッドの引数や戻り値などの継承とか細い事はまたその後での話
0796デフォルトの名無しさん
2017/04/01(土) 22:10:05.40ID:9Eckjtd/だから何が言いたいのか
>>783
> そこが継承の限界。
> 例えばジェネリックで温度調節メソッドを作れば、受け取るクラスがクーラークラスだろうが人間クラスだろうが使える。
俺や↑に対して、ジェネリックで温度調節メソッドを作っても、
クラスごとに実装が違うんだから使えないって話をしてる。
継承関係にないクラスで、同じメソッドが使えるとしたら
そのクーラークラスと人間クラスの両方に同じインターフェースをもたせた場合だけだろう。
つまりデザインパターンで言うBridgeパターンを適用させた場合ってことだ。
http://www.techscore.com/tech/DesignPattern/Bridge.html/
ジェネリックで温度調節メソッドを作れば使えるようになるのではない
Bridgeパターンを適用させれば、同じメソッドが使えるようになる。
(メソッドはジェネリックする必要もない。独立させる必要もない。継承でも使えるので継承の限界ではない)
0797デフォルトの名無しさん
2017/04/01(土) 22:28:50.03ID:oVxxWPWl>だから何が言いたいのか
メソッドをどこにどう置くのかって話に決まってるやろう
俺は温度調節なんてインバータだの火だのカーテンだの色々あって何を使うかもあるんだから
可能な限り温度調節の大元クラスは抽象化しろ、ついで大元の温度調節クラスはインバータが絶対必要かの再定義が必要と
0798デフォルトの名無しさん
2017/04/01(土) 22:37:23.77ID:9Eckjtd/関係ない話を始めるな。
> 例えばジェネリックで温度調節メソッドを作れば、受け取るクラスがクーラークラスだろうが人間クラスだろうが使える。
↑
今はこれが間違いだって話をしてる
0799デフォルトの名無しさん
2017/04/01(土) 22:43:39.41ID:oVxxWPWl俺は最初からこの話してたんだが、、
0800デフォルトの名無しさん
2017/04/01(土) 22:47:41.93ID:9Eckjtd/お前が最初から間違ってるってだけじゃんかw
↓これがお前の最初のレス。ちなみにID違うけど>>786は俺な。
787 返信:デフォルトの名無しさん[sage] 投稿日:2017/04/01(土) 21:07:06.41 ID:oVxxWPWl [1/6]
>>786
逆に言えばインターフェースさえ持たせりゃ人間だろうがクーラーだろうが温度調整メソッド実行可能て事だな
インバータとやらが無いから人間にゃ使えない??
nullでも返しとけ
0801デフォルトの名無しさん
2017/04/01(土) 22:55:52.84ID:HRxtHhPU0802デフォルトの名無しさん
2017/04/01(土) 22:58:37.58ID:oVxxWPWlよしじゃあ2レス目を見ろ
0803デフォルトの名無しさん
2017/04/01(土) 22:59:44.75ID:LVS++Jvv0804デフォルトの名無しさん
2017/04/01(土) 23:00:32.37ID:9Eckjtd/↓
> よしじゃあ2レス目を見ろ
ワロタw
0805デフォルトの名無しさん
2017/04/01(土) 23:00:38.26ID:HRxtHhPUスレタイやめろ
0806デフォルトの名無しさん
2017/04/01(土) 23:03:40.30ID:3iB7ywT80807デフォルトの名無しさん
2017/04/01(土) 23:06:00.53ID:HRxtHhPUnull返すらしいぞ
0808デフォルトの名無しさん
2017/04/01(土) 23:06:15.95ID:oVxxWPWlほらー2レス目でお前がドヤってコピペしたのがnullになっただろ?
0809デフォルトの名無しさん
2017/04/01(土) 23:08:43.63ID:3iB7ywT8コードかいて
0810デフォルトの名無しさん
2017/04/01(土) 23:10:10.79ID:oVxxWPWlいや発想は間違ってない。返すのはnullでもいいがnullじゃなくてもいい
人間の定義にもよるしな
0811デフォルトの名無しさん
2017/04/01(土) 23:13:09.16ID:vxnrpS460812デフォルトの名無しさん
2017/04/01(土) 23:15:48.77ID:HRxtHhPUnull返すってことはその関数を使う全ての関数がnullチェックする必要があるんだが
バグの元以外の何者でもない
0813デフォルトの名無しさん
2017/04/01(土) 23:18:13.88ID:9Eckjtd/どうしようもなくなったらとりあえずnull返しとけ
とかいう行き当たりばったりな事を言ってるやつ見ると
馬鹿にしか見えんよなw
0814デフォルトの名無しさん
2017/04/01(土) 23:19:54.52ID:oVxxWPWl一理ある。オブジェクト使う時点で割りと大きめの内容の可能性大だから判定としてあまり良くないやり方だろうな
0815デフォルトの名無しさん
2017/04/01(土) 23:24:14.20ID:9Eckjtd/オブジェクト指向には問題があると言ってる
0816デフォルトの名無しさん
2017/04/01(土) 23:34:25.41ID:LVS++Jvvオブジェクト指向って自然過ぎるな
0817デフォルトの名無しさん
2017/04/01(土) 23:35:25.18ID:oVxxWPWlオブジェクト指向には問題があるのか??まぁ何となくイメージ出来るが具体的に聞きたいな
0818デフォルトの名無しさん
2017/04/01(土) 23:39:07.32ID:oVxxWPWlなんか納得してしまったわ
0819デフォルトの名無しさん
2017/04/02(日) 00:10:36.45ID:n7h/bBRgちょっと違うな。
例えというのは、分からない人のために既存の知識と
結びつけて理解しやすくするためのもの。
しかし例えである以上、そのものとは違う。だから、既存の何かを
オブジェクト指向で表現しようとするものは、動物であれ、なんであれ無理が出てしまう。
それは例えである以上当たり前の話で、そこに突っ込むのは例えを使ってる理由が
わかってないってだけのこと。例えは完璧にオブジェクト指向で表現するのが目的じゃなくて
最初の理解のきっかけにするのが目的なんだから。
そして既存の物がオブジェクト指向で表現できないのは、オブジェクト指向の限界ではなく
既存のものが適切に分類分けされてないだけの話。
哺乳類は卵を産まないが、カモノハシは卵を生む。これは分類自体が間違ってる。
残念ながら現実は多様性すぎる(複雑すぎる)ので、オブジェクト指向にかぎらず
ソフトウェアで表現できたとしても、人間が扱うには複雑になりすぎる。
「継承の限界」といってるのも同じ。それは既存の物をオブジェクト指向で
表そうとするから無理が出てくる。前述したとおり既存の物を何を使っても
(人間には複雑すぎるという意味で)表現不可能なんだから。
継承(オブジェクト指向)の限界ではなくて、既存のものをソフトウェアで表現して
人間が扱うことの限界の話になってる。
0820デフォルトの名無しさん
2017/04/02(日) 00:14:42.90ID:jsBMGnyg0821デフォルトの名無しさん
2017/04/02(日) 00:19:05.19ID:nL/VAbIqお前ら全員、死ねばいいのに
0822デフォルトの名無しさん
2017/04/02(日) 00:50:35.11ID:If81qbgQ0823デフォルトの名無しさん
2017/04/02(日) 00:57:20.12ID:TuX9lG2c0824デフォルトの名無しさん
2017/04/02(日) 01:32:21.13ID:w0zTGR96さっさと就職先見つけて働け
0825デフォルトの名無しさん
2017/04/02(日) 01:51:08.77ID:n7h/bBRgwikipediaにのるまでやるぞこら
0826デフォルトの名無しさん
2017/04/02(日) 01:54:34.54ID:W6VXUIjv0827デフォルトの名無しさん
2017/04/02(日) 02:14:07.52ID:w0zTGR96お前が流行らせようと必死になるほど周りは冷めてく法則
0828デフォルトの名無しさん
2017/04/02(日) 05:23:41.49ID:VYf4qTfh0829デフォルトの名無しさん
2017/04/02(日) 09:47:52.21ID:4QDtxrUW0830デフォルトの名無しさん
2017/04/02(日) 10:16:08.93ID:uPG/8A2N一言で言うと、哀れ
0831デフォルトの名無しさん
2017/04/02(日) 10:37:19.15ID:VFzZvOnH0832デフォルトの名無しさん
2017/04/02(日) 10:50:43.00ID:Y1roktnR親クラスから継承して、オーバライドしたらそれはそのオブジェクト内ではつかえる
同じメソッドだけど、親クラスと継承しオーバライドしたオブジェクトではふるまいが違う
ふるまいが違うけどまったく同じメソッドで動作する
新しく書く必要はない
これがポリモーフィズム
0833デフォルトの名無しさん
2017/04/02(日) 11:13:48.36ID:T05HwBIb0834デフォルトの名無しさん
2017/04/02(日) 11:50:18.57ID:ji4FCp1U0835デフォルトの名無しさん
2017/04/02(日) 12:14:17.59ID:T05HwBIbプロトコル指向万歳
0836デフォルトの名無しさん
2017/04/02(日) 12:33:32.30ID:n7h/bBRg> クラスが肥大化したときに分割しづらいというのもまたオブジェクト指向
手続き型言語なら、クラスがないからクラスは分割しづらくならない。
だけど代わりに関数がもっと肥大化して分割しづらくなるのは秘密だ
ってことですよね?w
0837デフォルトの名無しさん
2017/04/02(日) 12:37:27.16ID:T05HwBIb0838デフォルトの名無しさん
2017/04/02(日) 12:38:28.93ID:n7h/bBRg関数も肥大化させるだろw
0839デフォルトの名無しさん
2017/04/02(日) 12:44:58.43ID:T05HwBIbクラスが肥大化する原因は主にメンバのスコープでありそれは関数には関係のないことだ
C++ならfriend?javaならpackageスコープに変更?
いずれもオブジェクト指向を破綻させているに過ぎない
0840デフォルトの名無しさん
2017/04/02(日) 12:50:25.09ID:n7h/bBRg自分で何言ってるのか分かってないのか?
その、メンバとは何か言ってみ。
メソッドか変数だろうが変数が肥大化の原因にはならないから
メソッド=クラスに紐付いた関数だろうが
関数に関係ある
0841デフォルトの名無しさん
2017/04/02(日) 12:51:32.27ID:L2LlC0CD0842デフォルトの名無しさん
2017/04/02(日) 13:07:52.72ID:T05HwBIb自分で何を言ってるのかわかっている?
クラス使ったことあるのか?
もしくはCで組んだことあるか?
オブジェクト指向のカプセル化はそれがメソッドだろうと変数だろうと確実にクラス肥大化の要因になる
しかしそれが関数肥大化と関連しているというのであればその関連性を説明してみなさい
0843デフォルトの名無しさん
2017/04/02(日) 13:22:39.73ID:L2LlC0CD下手くそな奴は何でも詰め込んだ肥大化したメソッドを書く
上手な奴は適切に細分化されたスリムなメソッドを書く
0844デフォルトの名無しさん
2017/04/02(日) 13:32:32.81ID:n7h/bBRgCプログラミング診断室
https://web-beta.archive.org/web/20000302013717/http://www.pro.or.jp:80/~fuji/mybooks/cdiag/index.html
新記録:最長不倒関数: 6344行
0845デフォルトの名無しさん
2017/04/02(日) 13:33:45.45ID:n7h/bBRg> オブジェクト指向のカプセル化はそれがメソッドだろうと変数だろうと確実にクラス肥大化の要因になる
> しかしそれが関数肥大化と関連しているというのであればその関連性を説明してみなさい
関数肥大化とは全く関係していない。
オブジェクト指向のカプセル化がなかったとしても
関数は肥大化する。
0846デフォルトの名無しさん
2017/04/02(日) 13:41:25.38ID:T05HwBIb全く話の通じない奴だな
ホリデープログラマーか?
おまえが言ってるのはようはバカが書けば糞コードになるということだ
そんなあたりまえでくだらないことを誰も話してはいない
おれはパラダイムと肥大化の可能性を言っている
議論したいなら同じ土俵に上がってくれ
0847デフォルトの名無しさん
2017/04/02(日) 13:42:50.74ID:T05HwBIb他人のレスも読みなさい
0848デフォルトの名無しさん
2017/04/02(日) 13:44:50.18ID:n7h/bBRg0849デフォルトの名無しさん
2017/04/02(日) 13:46:50.28ID:T05HwBIbダメだこりゃw
0850デフォルトの名無しさん
2017/04/02(日) 13:46:59.91ID:n7h/bBRgお前が言ってるのは、関数があれば関数が肥大化すると
言ってるのと同じことだろう?w
0851デフォルトの名無しさん
2017/04/02(日) 13:50:08.44ID:G74Dkm4+クラスがあるからクラスが肥大化する訳でもないよな
0852デフォルトの名無しさん
2017/04/02(日) 13:50:12.52ID:n7h/bBRgとしか ID:T05HwBIb は言ってないからなw
そしてあれだ、クラスがない言語を使えばクラスは肥大化しない
だってクラス自体がないもの(てへぺろ)って言ってるのと同じ。
だから俺はクラスが肥大化しなくても関数が肥大化するだろと言い放ったわけだ。
そしたら今度はバカ書いたら肥大化するとか言い訳しやがった。
クラスも同じだ。バカが書いたらクラスが肥大化するだけの話。
巡り巡って自分自身の意見に自分でツッコミを入れることになっている。
0853デフォルトの名無しさん
2017/04/02(日) 13:51:29.36ID:n7h/bBRgカプセル化があるから肥大化するんだよ。
カプセル化がない言語を使えば、カプセル化で肥大化することはない(ドヤァ)
と ID:T05HwBIb は言ってるだけなんだよなw
0854デフォルトの名無しさん
2017/04/02(日) 13:51:51.33ID:l1VJjSJU>>>833
> クラスが肥大化したときに分割しづらいというのもまたオブジェクト指向
>
>手続き型言語なら、クラスがないからクラスは分割しづらくならない。
>だけど代わりに関数がもっと肥大化して分割しづらくなるのは秘密だ
>
>ってことですよね?w
手続きにしろ、オブジェクト指向にしろ、関数型にしろ間違った組み方したら何でもどれでもコードが肥大化するだろうな
、というのは当然と踏まえた上で上記の話の間違いはこのコピペだな
ってことですよね?ってそういうことではないですよて事で
オブジェクト指向はオブジェクト指向のメリットを受ける代わりにデメリットも受ける可能性を秘めているって意味合いだろ
0855デフォルトの名無しさん
2017/04/02(日) 13:53:47.10ID:n7h/bBRg今度は
おまえが言ってるのはようはバカが使えばどんなメリットもデメリットになるということだ
って反論してくるぞ気をつけろw
0856デフォルトの名無しさん
2017/04/02(日) 13:55:27.01ID:T05HwBIbおまえ誰と話してるの?
>>838を主張しだしたのはおまえなんだが?
おれは初めからオブジェクト指向というパラダイムはクラスの肥大化の要因になるとだけ言ってるのだが
そこでおまえはクラスを肥大化させるやつは関数も肥大化させると言った
その関連性を説明しろといっている
0857デフォルトの名無しさん
2017/04/02(日) 13:56:32.62ID:n7h/bBRg間違い。
おまえが言ってるのはようはバカが使えばどんなメリットもデメリットになるということだ
0858デフォルトの名無しさん
2017/04/02(日) 13:57:06.38ID:n7h/bBRg>
> その関連性を説明しろといっている
バカだからさw
0859デフォルトの名無しさん
2017/04/02(日) 13:57:53.74ID:l1VJjSJUバカが何書いてもコードは肥大化するが
オブジェクト指向は天才が書いてもバカが書いてもメリットもデメリット両者両方受けるって事だな
大事なのは天才が書いてもデメリット受けるという事だな
0860デフォルトの名無しさん
2017/04/02(日) 14:00:24.13ID:n7h/bBRgデメリットってなんの話だ?
今は肥大化するかどうだろ。
オブジェクト指向はバカ以外が書いたら肥大化しない
この一言で十分よw
0861デフォルトの名無しさん
2017/04/02(日) 14:01:01.32ID:T05HwBIb真面目にレスした俺がバカだったのは認めるわw
0862デフォルトの名無しさん
2017/04/02(日) 14:01:25.32ID:n7h/bBRg0863デフォルトの名無しさん
2017/04/02(日) 14:01:58.67ID:G74Dkm4+0864デフォルトの名無しさん
2017/04/02(日) 14:02:48.36ID:Wks24sJLこいつは会話通じないから無駄やでwwww
0865デフォルトの名無しさん
2017/04/02(日) 14:04:50.94ID:l1VJjSJUちげーわバカ!っていうかそれがお前の勘違いだっつってんだろ!
コードが肥大化するのとクラスが肥大化する原因が別々なんだよ
両方の原因がそれぞれバカが書いたからじゃねぇんだよ
0866デフォルトの名無しさん
2017/04/02(日) 14:05:20.65ID:DzpU0i7zキャットドア認定試験にパスした奴だけがオブジェクト指向使うべきだろ
0867デフォルトの名無しさん
2017/04/02(日) 14:06:42.95ID:n7h/bBRg> コードが肥大化するのとクラスが肥大化する原因が別々なんだよ
別々じゃねーよw
どっちもバカが書いたら肥大化するの
0868デフォルトの名無しさん
2017/04/02(日) 14:07:21.01ID:T05HwBIbオブジェクト指向が正義と掲げるポリシーがクラス肥大化の要因になる
それはエンハンスを繰り返し制御が複雑化すると顕在化しだす
そしてそれを是正する手段をオブジェクト指向は何も与えてくれはしない
0869デフォルトの名無しさん
2017/04/02(日) 14:09:02.87ID:uN5zVA0L無駄やでwww
こいつに正論は通じないwwww
0870デフォルトの名無しさん
2017/04/02(日) 14:09:19.13ID:n7h/bBRgすぐに分かるよなw
0871デフォルトの名無しさん
2017/04/02(日) 14:10:41.34ID:l1VJjSJU>どっちもバカが書いたら肥大化するの
って言うのを踏まえた上で、
コードが肥大化するのとクラスが肥大化する原因が別々なんだよ
天才が書いてもクラスは肥大化すんのよ
0872デフォルトの名無しさん
2017/04/02(日) 14:11:51.48ID:n7h/bBRg適切に使えば肥大化することはない。
バカが使えば当然逆効果になるってだけで、
バカが使えば手続き型でも肥大化する。
それは>>844で証明したとおり
>>842
Cプログラミング診断室
https://web-beta.archive.org/web/20000302013717/http://www.pro.or.jp:80/~fuji/mybooks/cdiag/index.html
新記録:最長不倒関数: 6344行
0873デフォルトの名無しさん
2017/04/02(日) 14:12:12.55ID:n7h/bBRgしないのだから、それは間違い
0874デフォルトの名無しさん
2017/04/02(日) 14:15:01.89ID:l1VJjSJUそういう事を皆今語ってたんだよ
バカが書いたらコード肥大化するとか皆それ知ってて踏まえて会話してんだからイチイチ言わんでよろしい
んで何故クラスは肥大化しないと?
0875デフォルトの名無しさん
2017/04/02(日) 14:15:38.27ID:G74Dkm4+それはまた別問題だよ
保守案件じゃ限られたリソースの中で
OOPを汚しながら仕様を満たして行くしか無い場合も多い
小手先の変更だけじゃいずれ破綻するのは何指向だろうと一緒
0876デフォルトの名無しさん
2017/04/02(日) 14:15:54.14ID:n7h/bBRg実際にしてないからだよw
https://anopara.net/2014/04/11/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E4%B8%AD%E7%B4%9A%E8%80%85%E3%81%AB%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%BB%E3%81%97%E3%81%84%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89/
> 正しくオブジェクト指向設計を行えば、1クラス中のメソッド数は
> それほど多くならないはずだ。良いコードのお手本としてApache Commonsのコードを
> 参照してみよう。すると、1クラス中の平均メソッド数は6.5くらい、全体の8割にあたる
> クラスのメソッド数が10以下であった。実経験的にも、おおよそこれくらいという印象である。
0877デフォルトの名無しさん
2017/04/02(日) 14:17:09.14ID:n7h/bBRg肥大化してないのがよく分かるよね。
https://github.com/rails/rails
0878デフォルトの名無しさん
2017/04/02(日) 14:18:10.21ID:T05HwBIb無駄にスレ消費してないで一度くらい論拠を言ってみれば?
「カプセル化という思想が肥大化の原因にならないという論拠」をだ
カプセル化というスコープ制御がそれに依存する制御の追加によりクラスは必然的に肥大化すると言っている
さあどうぞ
答えられないなら逃亡と判断し今後一切相手にしない
何度もいうがメソッド、関数の肥大化はパラダイムの影響ではなくスキルの問題である
0879デフォルトの名無しさん
2017/04/02(日) 14:18:33.12ID:n7h/bBRghttps://github.com/gitlabhq/gitlabhq
0880デフォルトの名無しさん
2017/04/02(日) 14:19:16.05ID:n7h/bBRg> 「カプセル化という思想が肥大化の原因にならないという論拠」をだ
まずは肥大化の原因になるって論拠からじゃね?w
0881デフォルトの名無しさん
2017/04/02(日) 14:21:46.49ID:n7h/bBRgカプセル化というスコープ制御がそれに依存する制御の追加があってもクラスの肥大化とは無関係
反論はこの程度で十分だろうなって思ってるw
根拠を書く必要はないよ。だって肥大化する根拠が書かれてないからね。
根拠が書かれてないのであれば、こちらも根拠を書く必要もない。
それが同じレベルってもんだ
0882デフォルトの名無しさん
2017/04/02(日) 14:21:54.16ID:T05HwBIbなにをもって小手先というのかだがメンテナンスだろうとエンハンスだろうとそのオブジェクトに関する仕様、制御を追加する場合、クラスは確実に肥大化傾向になる
問題はそれをスマートに解決するためのコストが他のパラダイムに比べて遥かに大きいということだ
0883デフォルトの名無しさん
2017/04/02(日) 14:22:36.15ID:T05HwBIbはい、逃亡
さようならおバカさん
0884デフォルトの名無しさん
2017/04/02(日) 14:23:06.16ID:n7h/bBRgなにをもって小手先というのかだがメンテナンスだろうとエンハンスだろうとそのオブジェクトに
関する仕様、制御を追加する場合、クラスの肥大化とは巻けない
それをスマートに解決するためのコストは他のパラダイムに比べて全然大きくない
これで同レベルの反論
0885デフォルトの名無しさん
2017/04/02(日) 14:23:45.23ID:n7h/bBRg根拠が書かれてないのであれば、こちらも根拠を書く必要もない。
なにをもって小手先というのかだがメンテナンスだろうとエンハンスだろうとそのオブジェクトに
関する仕様、制御を追加するのと、クラスの肥大化とは関係ない
それをスマートに解決するためのコストは他のパラダイムに比べて全然大きくない
これで同レベルの反論
0886デフォルトの名無しさん
2017/04/02(日) 14:24:01.86ID:n7h/bBRgはい、逃亡って俺の真似するなよw
0887デフォルトの名無しさん
2017/04/02(日) 14:24:07.94ID:l1VJjSJUこれは中々納得出来るが困った部分もあるな
というか俺が言ってたデメリットってまさにこれだ
オブジェクト指向は想定内の処理整理はめっぽう強いが想定外の処理整理はめっぽう弱い
例えば無茶を言う外部の人間の指示
0888デフォルトの名無しさん
2017/04/02(日) 14:24:54.81ID:n7h/bBRg例えば無茶を言う外部の人間の指示があれば
手続き型でも破綻する。
根拠が書かれてないのであれば、こちらも根拠を書く必要もない。
0889デフォルトの名無しさん
2017/04/02(日) 14:32:56.10ID:l1VJjSJUお前が出したURLはオープンソースの奴でつまりは方針方向性目的がクッキリしててそれはオブジェクト指向に向いてるとは思うわ実際どう使われてるか知らんが
例えばapacheにメールサーバも追加実装を指示する外部の人間なんかおらんしな
方針方向性目的が維持出来てるかどうかがオブジェクト指向のデメリットの発生地点
0890デフォルトの名無しさん
2017/04/02(日) 14:34:27.31ID:n7h/bBRg方針方向性がくっきりしてれば肥大化しないに変わったなwww
だっせww
0891デフォルトの名無しさん
2017/04/02(日) 14:39:51.21ID:l1VJjSJU無茶を言う外部の人間居ないからな
しかしメリットしか見てないからお前はデメリットを包み隠してるように見えるな
0892デフォルトの名無しさん
2017/04/02(日) 14:42:28.42ID:n7h/bBRgえ?なんだって?
今度は無茶を言う外部の人間がいないから肥大化しないに
変えたのか?w
ぶれまくりだなw
0893デフォルトの名無しさん
2017/04/02(日) 14:46:56.31ID:l1VJjSJUいやいや天才が書いてもクラスは肥大化する派よ俺は
お前が見せたそれは完璧な環境で完璧なコード書いてるようにしか見えん
完璧じゃない環境で天才が書いたらどーすんのよ。むしろそんないい環境想定してないわ
0894デフォルトの名無しさん
2017/04/02(日) 14:47:26.08ID:T05HwBIb仕事で開発する以上、外部からの無茶な仕様要求は必然なのでそれを無茶というかはさておき、それを理解できないということはたぶん専門学校で言語勉強している程度の経験か、もしくはオブジェクト指向以外の言語で開発をしたことがないのだろうね
0895デフォルトの名無しさん
2017/04/02(日) 14:49:43.97ID:n7h/bBRg理解できてないのは、オブジェクト指向でなければ
無茶な要求はされないと思ってる脳天気な頭してるお前じゃねw
0896デフォルトの名無しさん
2017/04/02(日) 14:52:22.25ID:n7h/bBRg> 完璧じゃない環境で天才が書いたらどーすんのよ。
手続き型でも破綻しますよ?
天才は一人で仕事してるんですか?
ありえませんね。完璧じゃない環境なのだから
完璧じゃない環境=バカがいる環境
だって少し考えればわかるでしょ?
0897デフォルトの名無しさん
2017/04/02(日) 14:56:04.91ID:l1VJjSJU逆や。能天気な奴程オブジェクト指向は崩壊しないと思ってる
俺がお前の事をそこまで能天気ではないと勘違いしてたって意味でもあるわ
個人開発程のクリーンな環境は俺は想定してない
0898デフォルトの名無しさん
2017/04/02(日) 14:57:52.03ID:n7h/bBRg破綻する原因はバカが使うことであると言ってるだけで
オブジェクト指向とか手続き型は関係ないと言ってるんですが?
お前は、手続き型であれば崩壊しないと思ってるってことでいいんだよね?w
0899デフォルトの名無しさん
2017/04/02(日) 14:59:46.33ID:l1VJjSJUだから手続き型でもオブジェクト指向でも関数型でも誰が書いても崩壊する物は崩壊するなんてイチイチイチ言わんでよろしい
問題はオブジェクト指向は特に崩壊し易いて事や
鈍重な分、足元救われると一番エラい目に
0900デフォルトの名無しさん
2017/04/02(日) 15:01:54.85ID:l1VJjSJU>>899
ってことでいいんだよね?は信用ならんわマジ勘違いやんけ、、違うわ、
0901デフォルトの名無しさん
2017/04/02(日) 15:04:17.35ID:n7h/bBRg> だから手続き型でもオブジェクト指向でも関数型でも誰が書いても崩壊する物は崩壊するなんてイチイチイチ言わんでよろしい
反論はしないの?
なんでイチイチイチ言ったらダメなの?
まず、お前の口から聞きたいね。
オブジェクト指向でも手続き型でもその他でも
バカが書いたら破綻すると。
0902デフォルトの名無しさん
2017/04/02(日) 15:05:29.08ID:n7h/bBRg根拠が書かれてないのであれば、こちらも根拠を書く必要もない。
これで同レベルの反論
0903デフォルトの名無しさん
2017/04/02(日) 15:06:43.12ID:qRG7Kjic0904デフォルトの名無しさん
2017/04/02(日) 15:10:33.45ID:l1VJjSJU何でイチイチ言うなって言うとみんな知っててそれ踏まえた上で話してるからやな
お前のためだけに逐一説明するのはみんなは大変だ
仕様をガッチリ固めるのがオブジェクト指向の強みでお前のURLにもそれらしき事書いてたが
ガッチリ固めた分横槍で穴を開ける行為に弱いんだよな
全部ガッチリ固まってくれたらいいのにな
0905デフォルトの名無しさん
2017/04/02(日) 15:15:34.51ID:l1VJjSJUいやお前は最初から根拠は書いてないな
オブジェクト指向のURLしか書いてない
手続き型でもオブジェクト指向でも関数型でも何でも成功するもんは成功するしな
0906デフォルトの名無しさん
2017/04/02(日) 15:19:21.46ID:2xl08NN30907デフォルトの名無しさん
2017/04/02(日) 15:20:50.13ID:n7h/bBRg> 何でイチイチ言うなって言うとみんな知っててそれ踏まえた上で話してるからやな
なんで他人が知ってると思いこんでるの?
そこが君、ダメだよ。説明能力不足
0908デフォルトの名無しさん
2017/04/02(日) 15:22:09.12ID:n7h/bBRg> 仕様をガッチリ固めるのがオブジェクト指向の強みで
間違い。
> お前のURLにもそれらしき事書いてたが
書いてない。
> ガッチリ固めた分横槍で穴を開ける行為に弱いんだよな
弱くない。
なんで同レベルの反論が簡単にできるようなこと
ばかり言ってるんだろうね。内容が何もないw
0909デフォルトの名無しさん
2017/04/02(日) 15:25:44.01ID:l1VJjSJUお前単体での理解力不足だ。
だからお前が反省すべきやな。皆知っているからやな
0910デフォルトの名無しさん
2017/04/02(日) 15:27:37.80ID:l1VJjSJU同レベルの反論出来るのか?少し聞きたい
0911デフォルトの名無しさん
2017/04/02(日) 15:28:52.89ID:ZX1Lc1Ahとダダこねているという構図wwww
幼稚園児=ID:n7h/bBRgと大人では話は噛み合わないだろwww
0912デフォルトの名無しさん
2017/04/02(日) 15:29:58.60ID:jsBMGnyg0913デフォルトの名無しさん
2017/04/02(日) 15:32:13.67ID:n7h/bBRg仕様をガッチリ固めるのがオブジェクト指向の強み(という根拠はない)
お前のURLにもそれらしき事書いてた(という証拠もない)
ガッチリ固めた分横槍で穴を開ける行為に弱い(という根拠もない)
はい3行w
0914デフォルトの名無しさん
2017/04/02(日) 15:33:10.57ID:l1VJjSJU>>904
> 仕様をガッチリ固めるのがオブジェクト指向の強みで
間違い
よく見たら何気に凄い事書いてんな。間違いなのかよこれ。これが全てだろうよ
0915デフォルトの名無しさん
2017/04/02(日) 15:35:57.02ID:l1VJjSJU根拠って他人の書いたサイトのURLだけなのかな?
0916デフォルトの名無しさん
2017/04/02(日) 15:36:19.08ID:n7h/bBRg間違いだよ。オブジェクト指向は変更に強いからね。
それはあちこちで語られてる。
一例
http://objectclub.jp/technicaldoc/object-orientation/principle/principle02
オブジェクト 指向設計の有効性の1つは、要求変更に強いソフトウェア構造を作り出すこと です。
0917デフォルトの名無しさん
2017/04/02(日) 15:38:48.16ID:n7h/bBRg本もたくさん出てるよ。
例えばこれ。言語はJava
新装版 リファクタリング―既存のコードを安全に改善する―
https://www.amazon.co.jp/dp/427405019X
こっちはRuby
リファクタリング:Rubyエディション
https://www.amazon.co.jp/dp/4048678841
0918デフォルトの名無しさん
2017/04/02(日) 15:39:05.81ID:ZX1Lc1Ahおまえも知っているいつもの
バカがいつも通り幼稚園児並のレスを
カいてスレを消費しているだけw
0919デフォルトの名無しさん
2017/04/02(日) 15:39:24.18ID:l1VJjSJU悪いけどあちこちで語られてるとかURLとかいらんから
お前がどう思ってるか書いてくれんかね?
0920デフォルトの名無しさん
2017/04/02(日) 15:41:10.46ID:l1VJjSJUお前から説得力を感じない理由が分かった
外部ソースばかりで自分の考え書かないからだ
0921デフォルトの名無しさん
2017/04/02(日) 15:42:33.43ID:n7h/bBRg最初からずっと言ってる。
オブジェクト指向で破綻するのではなく
バカがやるから破綻する。
オブジェクト指向のせいにしようとしているその理由全てに
「バカがやるから」が頭についていることからもそれがわかる。
書かれいていなうても「バカがやるから」だとみんなわかっている。
0922デフォルトの名無しさん
2017/04/02(日) 15:43:22.71ID:2xl08NN3俺には絶対無理だ。
0923デフォルトの名無しさん
2017/04/02(日) 15:43:58.35ID:l1VJjSJUんでその根拠がどっかの外部ソースで皆が言ってるからか?
0924デフォルトの名無しさん
2017/04/02(日) 15:46:25.75ID:n7h/bBRg俺だけじゃなくて、皆が言ってるのか?
ならそうなんだろうな。
0925デフォルトの名無しさん
2017/04/02(日) 15:51:15.96ID:l1VJjSJUああ、外部ソースの先のサイトや本で皆がそう言ってるから!、だけじゃ聞いててウンウンそれでお前は?ってなるわな
その外部ソース先に俺がもし居たらお前どうゆう反応になるのかと
0926デフォルトの名無しさん
2017/04/02(日) 15:55:49.82ID:n7h/bBRg何がしたいのお前?オブジェクト指向の話やめて
俺がミスするのを待ち構えて揚げ足取る戦法に変えた?w
0927デフォルトの名無しさん
2017/04/02(日) 15:55:51.38ID:TvISwdcG0928デフォルトの名無しさん
2017/04/02(日) 15:58:36.72ID:T05HwBIbオブジェクト指向はオブジェクトのカプセル化という制約のためエンハンスによりクラス肥大化しやすくそれを解決するのは容易くない
→子供「クラスを肥大化させるような奴は関数も肥大化させるのでオブジェクト指向は関係ない」
カプセル化という制約が肥大化に関連性がないないという根拠は?
→子供「おまえが根拠を言わないから僕も言わない!どんな言語でもバカが書けば破綻するし天才が書けば破綻しない!」
パラダイムとしての相対的な破綻のしやすさを話しているのでバカが書けばなんでも破綻するというレベルの話ではない
→子供「バカが書けばなんでも破綻するしオブジェクト指向は関係ない!!!」
0929デフォルトの名無しさん
2017/04/02(日) 16:01:25.80ID:l1VJjSJUある意味合ってるぞ。揚げ足取られない様に外部ソースばかりで自分の考え言わない君は自分の言葉で言って貰わないとな
俺はオブジェクト指向はガッチリ固める手法だと思ってるんですけど"あなたの"考えは?
0930デフォルトの名無しさん
2017/04/02(日) 16:02:40.16ID:l1VJjSJUそれ外部ソースまとめたんですか???
0931デフォルトの名無しさん
2017/04/02(日) 16:03:18.20ID:T05HwBIbそこまでごり押しするオブジェクトが完璧だという主張の拠り所は?
→子供「サイトに書いてある。みんながそう言っている」
サイトに逆の事が書いてあったらどうするの?
→子供「俺がミスして揚げ足とるのを待ち構えてるの?」
草不可避
0932デフォルトの名無しさん
2017/04/02(日) 16:03:25.54ID:2xl08NN30933デフォルトの名無しさん
2017/04/02(日) 16:03:25.83ID:n7h/bBRgオブジェクト指向に限らない。
がっちり固めたほうがいい問題ならがっちり固めればいいし
そうでない問題なら、固める必要はない。
もっと柔軟になれよ。
0934デフォルトの名無しさん
2017/04/02(日) 16:05:08.77ID:n7h/bBRg自分がいいたことをを書いている
それは今までに出てきていない単語
「子供」だ。
つまり、>>928、>>931は
「お前はこどもだーこどもだー」って喚いているガキw
0935デフォルトの名無しさん
2017/04/02(日) 16:05:45.34ID:l1VJjSJUお前そうゆうまともな返答してた人にに対して根拠はないって言ってたんだから反省しろよ
そうゆうまともな返答だけしてろよ
0936デフォルトの名無しさん
2017/04/02(日) 16:06:20.50ID:n7h/bBRg根拠がないのは事実なのだから
それは仕方がないことだ。
0937デフォルトの名無しさん
2017/04/02(日) 16:06:49.56ID:T05HwBIb間違っている部分があるなら反論どうぞーw
0938デフォルトの名無しさん
2017/04/02(日) 16:08:14.54ID:l1VJjSJUだったらお前も根拠ねーだろーが、、
0939デフォルトの名無しさん
2017/04/02(日) 16:09:47.76ID:n7h/bBRg> 間違っている部分があるなら反論どうぞーw
「子供」以外間違ってる部分なんかないぞw
あ、一つだけあったな。
> →子供「サイトに書いてある。みんながそう言っている」
これは俺は言ってない
0940デフォルトの名無しさん
2017/04/02(日) 16:10:30.26ID:n7h/bBRg> だったらお前も根拠ねーだろーが、、
俺反論しかしてないからな。
根拠ない文章に反論するのに
根拠は必要ないんだよ。
0941デフォルトの名無しさん
2017/04/02(日) 16:14:08.94ID:l1VJjSJUうん、どーせ気付かないだろーと思ってたけどそれそういう意味でないんだすまんな
0942デフォルトの名無しさん
2017/04/02(日) 16:20:30.58ID:n7h/bBRgなんでも言い返すだろうと思ってるのか、
言い返したらアウトな罠がちらほら見えるw
0943デフォルトの名無しさん
2017/04/02(日) 16:24:30.49ID:l1VJjSJU0944デフォルトの名無しさん
2017/04/02(日) 16:26:19.57ID:n7h/bBRgそういう意味でないんだすまんな
0945デフォルトの名無しさん
2017/04/02(日) 16:27:20.28ID:n7h/bBRg0946デフォルトの名無しさん
2017/04/02(日) 16:28:00.07ID:TvISwdcGこれ意味がよくわからんね
カプセル化の制約がないものとしてどういうものを想像してるの?
あとエンハンスって例えばどういうものを想定してるの?
0947デフォルトの名無しさん
2017/04/02(日) 16:34:54.03ID:T05HwBIb土俵の下からヤジ飛ばしているだけの自覚なあるわけか
俺からするとオブジェクトのカプセル化という思想自体が根拠そのものなのだが経験が浅いから具体的なケースが思い浮かばないのだろうか
せっかくだから最後に簡単に具体例をあげてやろうかとも思ったがおまえは前スレでも具体的な話すると読むの無駄だといって逃げるから時間の無駄だな
議論することで己の知見が広がるということすら理解していないからやはりおまえは間違いなく頭の中は子供だよ
その独りよがりでせいぜい頑張りたまえ
0948デフォルトの名無しさん
2017/04/02(日) 16:36:29.28ID:n7h/bBRg土俵の下からヤジ飛ばしているだけの自覚なあるわけか
俺からすると○○○○が根拠そのものなのだが経験が浅いから具体的なケースが思い浮かばないのだろうか
せっかくだから最後に簡単に具体例をあげてやろうかとも思ったがおまえは前スレでも具体的な話すると読むの無駄だといって逃げるから時間の無駄だな
議論することで己の知見が広がるということすら理解していないからやはりおまえは間違いなく頭の中は子供だよ
その独りよがりでせいぜい頑張りたまえ
汎用化してテンプレ化完了。
いろんなところで使いまわそう!
0949デフォルトの名無しさん
2017/04/02(日) 16:42:36.02ID:8k5jx1PCやっぱりクラスは駄目だな
0950デフォルトの名無しさん
2017/04/02(日) 16:43:40.28ID:n7h/bBRgオブジェクト指向って自然な文法だな 3 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1491118238/
0951デフォルトの名無しさん
2017/04/02(日) 17:05:52.30ID:KLExlLIQ2017/03/31(金)のID:FcWj0OtHだけど質問させてくれ。
質問1:
君は2017/03/31(金)のID:OV1cbLT2か?
質問2:
>>714以降、cat.door()でなくdoor.open(cat)かdoor.push(weight)がよい
という主張にID:OV1cbLT2は反論していないが君も納得したのか?
0952デフォルトの名無しさん
2017/04/02(日) 17:09:12.02ID:n7h/bBRg> 君は2017/03/31(金)のID:OV1cbLT2か?
違う。俺は>>720だ
0953デフォルトの名無しさん
2017/04/02(日) 17:09:55.53ID:T05HwBIbオブジェクト指向の目指すところは弱い結合度と強い凝集度なのはわかるな
つまり噛み砕くと極力他のオブジェクトとの依存を減らしオブジェクトの機能の純粋性高めるように設計するわけだ
その結果例えばゲッタ、セッタのような厳密なスコープ管理が生まれるわけだがある管理オブジェクトAがいくつかの状態を持っているとする
そしてエンハンスによりその状態に大きく依存した処理入れることになった
この時選択肢はいくつかあるが厳密なスコープ管理されたクラスへ複雑な状態の判定を入れる場合最も簡単なのはAにコードを書くことであり多くのプログラマーがそれを選択する
そしてそのようなエンハンスの繰り返しにより結果としてクラスは確実に肥大化する
それを解決しようと何かを他のオブジェクトに分離しようなもprivateなものへのアクセスが大量に必要になり容易く分離ができない
そこで必要なるのはクラスの凝集性の見直しと大量のinterfaceの作成だ
しかしこれは大きなデグレリスクとコストを伴うもので実業務で行うのは容易くないのだよ
これを関数型で考えてみようか
関数型は原則的に副作用の持たない第一級関数の集合と考えていい
言うまでもなくオブジェクト指向のようなジレンマを持たないのはわかるだろう
0954デフォルトの名無しさん
2017/04/02(日) 17:11:54.22ID:n7h/bBRgということでエンハンスの意味はわかったかね?
0955デフォルトの名無しさん
2017/04/02(日) 17:14:43.81ID:n7h/bBRg関数型プログラミングに目覚めた-IQ145の女子高校生の先輩から受けた特訓5日間-岡部-健
https://www.amazon.co.jp//dp/4798043761
0956デフォルトの名無しさん
2017/04/02(日) 17:19:13.99ID:KLExlLIQ回答ありがとう。
ID:dseKSPuYはバカで済ませずに
きちんと説明していたから同一人物とわからなかった。
>>955
待て待て待て
Qiitaでポエムを書いて除名された人の本を紹介するとはどういうつもりだ。
0957デフォルトの名無しさん
2017/04/02(日) 17:19:15.06ID:n7h/bBRg関数型に関しては、一言しか言えていない。
ニワカという言葉を知っているか?
0958デフォルトの名無しさん
2017/04/02(日) 17:20:34.35ID:n7h/bBRgだってそっくりじゃん?w
0959デフォルトの名無しさん
2017/04/02(日) 17:20:56.57ID:W6VXUIjv0960デフォルトの名無しさん
2017/04/02(日) 17:39:20.16ID:equ9Ou770961デフォルトの名無しさん
2017/04/02(日) 17:43:01.53ID:G74Dkm4+> 最も簡単なのはAにコードを書くことであり多くのプログラマーがそれを選択する
その選択が既に非OOP的としか言いようがない
後々の保守性を考慮する必要が無いのなら勿論ベストの選択肢だけど
0962デフォルトの名無しさん
2017/04/02(日) 17:45:29.33ID:KLExlLIQこの著者を知らない人もいるだろうから、
関数型ポエム騒動に関するツィートまとめとレビュー記事と本人のブログを貼る。
レビュー記事のDay1では同一人物と思われる複数のアカウントが
著者の特殊な主張を擁護する300件近いコメントをつけている。
関数型プログラミングコミュニティにおける災害
http://togetter.com/li/773846
何やら「関数型プログラミング」と「IQ145の女子高生」を絡めた技術系の新刊が出るようですが。
http://togetter.com/li/805925
『関数型プログラミングに目覚めた!』のレビュー
http://qiita.com/nonstarter
岡部 健の技術記事 Ken Okabe's tech writing
http://kenokabe-techwriting.blogspot.jp/
0963デフォルトの名無しさん
2017/04/02(日) 18:19:16.04ID:/blBHN/F頭すっからかんで何も理解してない事が証明されたな
0964デフォルトの名無しさん
2017/04/02(日) 18:22:39.33ID:T05HwBIbだが現実として多くの開発現場でそうなっていることから目を背けてはいけない
人にとって現時点では最も直感的でわかりやすいパラダイムがオブジェクト指向なのはその通りでありだからこそ主流になってるわけだが、オブジェクト指向の理想に対して大多数の名も無きプログラマーにはそこが限界点だった
またその原因の一つがおまえ自身が言っている通り、その理想が必ずしも局所的には最良かつ効率的ではなかったというだけのことだろ
0965デフォルトの名無しさん
2017/04/02(日) 18:45:02.56ID:DzpU0i7zこのゴミ本ありがたがってる奴いるの
仲介者クラスを作るべきというトピックのあとに、仲介者クラスをいたずらに作るべきでないとかかいてあるクソ本だぞ
じゃあいつ仲介者クラスを作るべきで、いつ不要なんですかってことに何の数理的論理的根拠もない
なおのこといらつかせるのは、この本がリファクタリングの意味するところ、つまりデータ構造の再構築、文学的にいえば推敲に失敗していることだ、端的にいえば読みづらい、コンテクストがそこらじゅうの章にちりばめられており一貫した考えがないから読みづらい
この本がどの程度リファクタリングされていずに不明瞭で、何ら設計指針が得られるものでないってことから、こういうアジャイルだとかオブジェクト指向にたいする欺瞞が膨れ上がった、そういった意味では良書だわ
この本としての体裁すら成り立ってないゴミ本は読書家として絶対に許せんわ、こんな恥さらしな本出してくれたファウラーとかいう文才ない自称プログラマはほんま消えてほしい
0966デフォルトの名無しさん
2017/04/02(日) 18:48:03.77ID:KLExlLIQこの文章で説明している事はカプセル化があだになる例だから、
対比としては関数型でなく構造化プログラミングで十分だろう。
実例としては将棋ソフトウェアの思考アルゴリズム改良の話を聞いた事がある。
構造化プログラミングではデータを構造体で定義しグローバル変数にした。
思考アルゴリズムを変えると必要なデータが変わるが、
グローバル変数だからどの関数も必要なデータを自由に読み書きできる。
オブジェクト指向で将棋ソフトウェアを作ってデータをカプセル化したら、
アルゴリズムを変えるたびにクラスを再設計するはめになったそうだ。
カプセル化によって理解しやすいコードになるのは間違いないが、
データと処理の対応がよく変わる所は強い凝集度を最初から諦めて
データクラスと状態を持たないロジッククラスに分離する方が変更に強い。
仕様がよく変わるビジネスロジックはトランザクションスクリプトで書こう。
0967デフォルトの名無しさん
2017/04/02(日) 19:00:15.50ID:TvISwdcG>>961と同じ意見だけど結局作る人の問題でカプセル化とは関係ないよね
何重にもネストしたif文にエンハンスで条件分岐に依存した処理を入れることになった場合に
最も簡単なのは既存の分岐の中にコードを書くことっていうのを同じレベルに聞こえる
どういう単位で分割するかはトレードオフの判断だと思うけどな
例えば格闘ゲームで今まで使ってなかった複数ボタンの同時押しで
状態に依存した新しい動作を追加する場合なんかだと
把握する必要のある状態が多くて十分複雑だと思うけど
カプセル化の制約があるからクラスが肥大化するとか
関数型なら破綻しにくくなるっていうのは想像できない
0968デフォルトの名無しさん
2017/04/02(日) 19:02:10.18ID:DzpU0i7z我々がプログラムをかく以上、例えオブジェクト指向を採用したところで、チューリングマシンあるいはFSMあるいはチャーチモデル的な制約に縛られる
すなわちプログラムとは、メモリに格納された状態とそれにたいする手続きによって意味あるメモリ状態を構築し解釈すると言うことだ
クラスとは、クラス内部に状態を格納しているものであるべきであり、グローバル変数は確かにクラスに押し込めれば減る
もしクラスが状態を格納しないのであれば、それはただのデータにすぎない
データはプログラマの操作対象であっても、管理対象ではない
しかしクラスに格納された変更しうる状態はプログラマが管理することになる
クラスはその状態数を最低とすることをアシストするような文法機構を持っていない
状態数を減らすことができるのは、関数だけなのである
そしてプログラマは管理すべき状態を一元管理できるパラダイムか、各所にちらばった状態を個別に管理するパラダイムかを選択している
このことをよく理解しているプログラマはオブジェクト指向でも関数指向でも大きくは間違えない
0969デフォルトの名無しさん
2017/04/02(日) 19:07:25.41ID:TvISwdcG釣り師乙
キャットドアの出題者と同じ臭いがする
0970デフォルトの名無しさん
2017/04/02(日) 19:09:57.18ID:DzpU0i7zだが、そういう人間はその状態が究極的にはプログラマによって管理し、操作されるということを見過ごしている
誰かがそのオブジェクトにけしかけたのだとしたら、それは結局のところプログラマがそうせよと命じたからにすぎない
オブジェクトが自発的に思考してメッセージを出しているのではなく、プログラマ、ないしはユーザーがけしかけたからにすぎない
我々はオブジェクト指向ライブラリをみるたびにうんざりするのはそういうことだ
ライブラリの中にどれだけの状態数があり、何をどう操作すれば我々が欲するセマンティクスが得られるのか、ということに対して
文法的拘束もなければ意味論的な制約もかからないことだ
0971デフォルトの名無しさん
2017/04/02(日) 19:20:16.62ID:VFzZvOnH誤りがあるトンデモ文だけ抜き出してアンカしようと思ったら全行言ってることがめちゃくちゃだった
>もしクラスが状態を格納しないのであれば、それはただのデータにすぎない
なんでやねん
0972デフォルトの名無しさん
2017/04/02(日) 19:21:29.46ID:nqLhFkBF「C++のfriendがオブジェクト指向を破綻させている」
↑
単独にここだけ反論したい。
friendはむしろカプセル性を促進するものであって破綻させるものじゃないよ。
0973デフォルトの名無しさん
2017/04/02(日) 19:27:54.49ID:DzpU0i7zクラスが状態を保持しないのであれば、インスタンスメソッドは何の役に立つのか説明してみて
0974デフォルトの名無しさん
2017/04/02(日) 19:33:57.36ID:VFzZvOnHlist2 = list.sort()
swiftなんかだと、listは値を持つが状態はもたん
配列が役にたたんと言う気か
0975デフォルトの名無しさん
2017/04/02(日) 19:35:49.63ID:equ9Ou770976デフォルトの名無しさん
2017/04/02(日) 20:00:30.00ID:DzpU0i7zオブジェクト指向の文脈において、不変性はパフォーマンス低下以外の何のメリットがあるの?
listに参照型は格納できないの?
最大の疑問は
なんで状態を持たないのに、list.sort()をlist2変数に格納してるの?
letしたってこと?、
varだとまるっきり意味ない宣言だよね?
そのコードだとパフォーマンス低下以外の何のメリットがあるの?
その短文でここまでツッコミ所あるとか何もわかってねえわ
り
リストと配列の区別もつかないやつがオブジェクト指向にたいして何か言えると思ってる時点でキチガイだろ、レベル低すぎなんだが
0977デフォルトの名無しさん
2017/04/02(日) 20:10:24.77ID:T05HwBIbおおよそおっしゃる通り
オブジェクト指向言語だからとオブジェクト指向でしか書けないわけではないからな
必要なのは指向への固執ではなく選択すること
0978デフォルトの名無しさん
2017/04/02(日) 20:10:31.32ID:l1VJjSJU0979デフォルトの名無しさん
2017/04/02(日) 20:12:40.21ID:T05HwBIbパラダイムが異なれば破綻の定義が変わってくる
それはスパゲッティになることとはイコールではない
0980デフォルトの名無しさん
2017/04/02(日) 20:16:26.26ID:l1VJjSJU0981デフォルトの名無しさん
2017/04/02(日) 20:18:16.49ID:T05HwBIbfriendは諸刃の剣だからな
正しく使えば強い剣にはなるのは同意
C+は良くも悪くも開発者のスキルに依存しすぎるのがアンチが多い理由
0982デフォルトの名無しさん
2017/04/02(日) 20:54:50.53ID:VFzZvOnHまくしたてて煙に巻くタイプだな
>オブジェクト指向の文脈において、不変性はパフォーマンス低下以外の何のメリットがあるの?
>不変性
まさにお前の懸念してた保守性がよくなる。
どう変わるかわからん隠ぺいされた内部状態にびくびくしないでよくなる。
自分で言っといて1レスで忘れるなよ…
0983デフォルトの名無しさん
2017/04/02(日) 21:02:37.18ID:cWX073Y/0984デフォルトの名無しさん
2017/04/02(日) 21:10:36.70ID:DzpU0i7zじゃあこうきこうか
immutableList<mutableClass>
は不変か?
0985デフォルトの名無しさん
2017/04/02(日) 21:17:24.87ID:VFzZvOnH名前通りのクラスなら個々の参照先は不変だけど参照先の内容は可変
0986デフォルトの名無しさん
2017/04/02(日) 21:19:07.44ID:n7h/bBRg関数の中身は関数型
それが今の時代のトレンドだよ。
0987デフォルトの名無しさん
2017/04/02(日) 21:19:43.59ID:n7h/bBRg機能を取り入れているのかを考えてみたほうが良い
0988デフォルトの名無しさん
2017/04/02(日) 21:30:47.41ID:DzpU0i7zじゃあ
immutableList<mutableClass>という設計は実装上のどのような利得があるの?
immutableList<Value>は有益だけどこれ関数型そのものだ
なぜ有益なのかはまだ答を出さない
問題はmutableClassを前提としているオブジェクト指向において、言い換えれば参照透過性をみたさないものに対してimmutableなクラスを使うことにどのような実装上の便益があるのか興味があるからだ
0989デフォルトの名無しさん
2017/04/03(月) 08:00:03.70ID:qOfWhjuMクラス化は、散逸を呼び排他的になる結果、ほぼ同じ、働きが一緒、意味が似ているものを重複させ、それを増長させる。
風穴を開けるのがフレンド。
所謂、シェア
0990デフォルトの名無しさん
2017/04/03(月) 08:19:13.93ID:nXV6xz2aオブジェクト指向を原理主義、杓子定規に当て嵌めるには、
メソッドは動詞か名詞か?
クラス名は固有名詞か代名詞か現象を表す集合か?
媒介クラスとは、物(オブジェクト)であるのか?
つまり、言語仕様にそんな規定がないのだから、その議論はオブジェクト指向の議論でなく、命名規則の原理原則を押し付けているだけ。
識別子に属性つけて、その属性からコンパイラに機械的な検査とコード展開を促すのがオブジェクト指向と言われる言語を指す。
「オブジェクト」ってのが「Googleエコシステム(利権)」と同じバズワード。
エヴァみたいなエポック文学にハマる愚か者なんだよ。
0991デフォルトの名無しさん
2017/04/03(月) 08:25:43.76ID:nXV6xz2aオブジェクト指向を学んでも設計技術は磨けない。
設計とは分けること。分ける指標が設計技術の力。
分けた結果をクラスに当てはめて制約する。
クラスをみても設計の指標は書いていない。
0992デフォルトの名無しさん
2017/04/03(月) 09:16:40.43ID:DYsJriQe良い言語とは学習コストが小さくかつ凡人が書いてもそれなりに体をなしてしまう言語
pythonやjavaが席巻しているのもそれが理由
関数型の台頭を妨げる理由もそれ
javascript、お前だけは絶対に許さない
0993デフォルトの名無しさん
2017/04/03(月) 09:45:54.68ID:VDwG6zpG設計技術ある人間がクラス設計すべきなのはその通りだろうが
オブジェクト指向を学んだら設計力が身につくべきなんてこともないだろ
プログラミング言語の読み方を覚えたら
コードが書けるようになるのかい?
0994デフォルトの名無しさん
2017/04/03(月) 09:47:57.14ID:MrxLrKt6設計で分けた結果を表現するのにクラス(オブジェクト指向)が
必須ということだよ。
0995デフォルトの名無しさん
2017/04/03(月) 09:50:04.72ID:MrxLrKt6こういうのを関数型ではうまく表現できない
0996デフォルトの名無しさん
2017/04/03(月) 09:53:24.49ID:28dsjWMc学習コストの大きいプログラミング言語なんてあるの?
(日本語の情報が少ないとかの固有の条件は除いて)
0997デフォルトの名無しさん
2017/04/03(月) 09:55:23.85ID:DYsJriQeむしろ全ての言語の学習コストが同じだと思っているの!?
0998デフォルトの名無しさん
2017/04/03(月) 11:06:38.65ID:28dsjWMc「大きいものはない→全部同じ」
が成り立つ世界で生きてるの?
0999デフォルトの名無しさん
2017/04/03(月) 11:36:04.05ID:Gsk36gq9プログラムを書いた事無い者が口を挟んで炎上みたいなものか
オブジェクト指向はいいんだけど
1000デフォルトの名無しさん
2017/04/03(月) 11:58:12.00ID:e66yg0jR10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 7日 21時間 27分 15秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。