- 1 名前:デフォルトの名無しさん mailto:sageteoff [2016/01/05(火) 02:10:25.72 ID:hJUQcrkl.net]
- オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
https://twitter.com/ProgrammingMono/status/665702678006140928 研究グループは、血管新生注において血管が伸長する際の血管内皮細胞注運動を制御するしくみを、生物学と数理モデル・ コンピュータシミュレーションを融合させた先端的な研究手法により明らかにしました。 生物は、最小の機能単位である細胞が寄り集まった多細胞体です。しかし、細胞の集まりが、組織や器官といった 秩序ある形態や構造をつくり機能するしくみはほとんど分かっていません。中でも血管は、体中の全組織に十分な 酸素や栄養源を効率よく供給するため、組織や組織の間に入り込み、血管外の環境との相互作用により、巧妙な 枝分かれ構造をとっています。 これまでに本研究グループは、新しく血管がつくられる(血管新生)際の細胞の動きに着目し、特に血管内皮細胞の 動きをリアルタイムで可視化し、定量的に捉えることを可能にしてきました。 今回さらに、血管の伸長を制御するしくみについて、細胞が自発的に自らを制御して動く過程(自律的過程)と、 隣接した細胞から適宜影響を受けて動く過程(協調的過程)がうまく共存することで、全体の動きが巧みに統制 されていることを世界に先駆けて実証しました。 興味深いことに、血管内皮細胞が前後したり、お互いに追い抜きあったりという血管新生で見られる複雑な細胞集団の 動きを制御している中枢部分は、細胞一つ一つの動き(スピードと方向性)の「確率的な変化」として十分説明できる ことをコンピュータシミュレーションで実証しました。 www.jst.go.jp/pr/announce/20151120-2/#YOUGO3 前スレ オブジェクト指向は愚かな考え。この世は計算式 ★2 peace.2ch.net/test/read.cgi/tech/1450153388/
- 39 名前:デフォルトの名無しさん [2016/01/07(木) 02:02:35.73 ID:EDvZlrKk.net]
- >>1>>4
結局のところ、この問題に誰もが納得するシンプルな回答を示せない奴が設計するからデスマーチになるんだろ。
- 40 名前:uy ◆Qawu9.2l1E mailto:sage [2016/01/07(木) 03:17:27.43 ID:VBUUQOGk.net]
- 自分も参加してるプロジェクトでデスマが起こるなら多分自分にも原因があるんだと思うよ
- 41 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 03:22:02.67 ID:Y5yasR7+.net]
- >>4
そもそもなんでコーヒーに命令するとコーヒーが自分で動作してんだよ。 そんなコーヒーがあるかw いきなり設計段階から間違ってるじゃねーか どう考えても最後の"//I am a software developer"って時点で そういう設計をやらかす>>4みてぇなバカを揶揄したセルフパロじゃんかw
- 42 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 04:03:14.50 ID:Y5yasR7+.net]
- ああ、ジョークまで完全に見えた
>>4は「プログラマがコーヒーを飲む」じゃなくて 「コーヒーがプログラマに飲まれる」って逆転ジョークで 絶え間なくコーヒーが自動的にプログラマに注がれ続ける おかしな逆転コードでプログラマジョークになってんだ。 「こいつをみてくれ」じゃねーよ!プププ
- 43 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 04:17:18.05 ID:boatvz1E.net]
- >>36-37 が大嘘であることはOCamlの存在が証明している
- 44 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 14:46:08.69 ID:Geoe+pHe.net]
- こういう根本的に理解できてないのが大量に居る時点で、オブジェクト指向は愚かな考えw
- 45 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 15:46:48.63 ID:bWvRU875.net]
- コーヒーはどうでもいいけど、
2.log() とか数に数学的関数計算をくっつけるってどうなのよ? 気持ち悪いったらありゃしねえ。
- 46 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 18:04:34.20 ID:nwSyjPdt.net]
- 数学みたいにlog(2)でいいと思うが。
その()は何のためにあるんだと言いたい。
- 47 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 19:24:41.82 ID:bWvRU875.net]
- 大分昔だけどフリー関数は気持ち悪くて、1.sin()とか1.cos()とか書けるのが本来の在り方だ、といった
痛い記事を読んだ記憶がある。Rubyがらみだったかなあ。 今ちょっと検索すると見つからないから俺の妄想なのかもしれん。
- 48 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 19:33:58.76 ID:LLMMv1AA.net]
- 数字は計算をしないからそう書いちゃいかんのだけどな
- 49 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 19:53:48.55 ID:wknU54yj.net]
- + 1 2
- 50 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 21:42:11.31 ID:a7kpSA/c.net]
- 死ね括弧
- 51 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 21:57:00.05 ID:sG4YEGv+.net]
- (スズ)
拝承
- 52 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 22:18:47.33 ID:a7kpSA/c.net]
- >>46
> 何のため 関数そのものなのか、関数を呼び出した結果なのかを区別する括弧。 括弧がなければ関数そのもの、あれば関数呼び出しの結果。 括弧がなければlogという関数そのもの、あればlog(hoge)の計算結果。 かどうかは言語による。
- 53 名前:デフォルトの名無しさん [2016/01/09(土) 14:00:07.10 ID:8eWGVEYX.net]
- >>45
こういう主語述語みたいなくだらない議論に陥るのがオブジェクト指向の最大の問題点だな どっちでもいいからそのためのテストなりサンプルコードをがつがつ作ってくれれば問題ないんだが 糞みたいな議論ばっかりふっかける輩を生むところが最大の問題点だな。
- 54 名前:デフォルトの名無しさん [2016/01/09(土) 14:37:25.60 ID:hdqMNonU.net]
- >>53
何も考えずに作業こなすだけの社畜 VS 議論ばかりやる頭でっかち ファイッ!!
- 55 名前:デフォルトの名無しさん [2016/01/09(土) 16:12:34.83 ID:8eWGVEYX.net]
- >>54
極論煽るだけのカスも大概だけどな
- 56 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 17:15:53.50 ID:3kY/wzgi.net]
- >>53
ドット構文を変な風に使うバカの問題であってオブジェクト指向関係ないな。
- 57 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 18:23:24.86 ID:oGyr6/WF.net]
- 主語述語っていうけど、オブジェクトは目的語だからね
- 58 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 19:25:35.83 ID:oGyr6/WF.net]
- 昔ながらのfunc( obj ); 形式だと、オブジェクトを主語と考える人はいないだろうし
obj.func(); は↑が変形したものにすぎないから同じ理屈だよね しかも時期C++ではfunc( obj )でもobj.func()でもどちらの形式でも呼び出せるようにするって C++の超偉い人がやる気満々だし、見た目は最早重要ではないよね 普通に考えると、主語はコンピュータや処理系だね プログラミングを全然知らない人でも、主語は誰?って聞いたらコンピュータって答えるだろうね 何するにしても、結局実行するのはコンピュータだからね これが全く現実世界でおこっている物理現象なのに、あえてオブジェクトを主語という風に ひねくれた別な観点で考え直す必要は無いね 現実世界に合わせて、主語をコンピュータ、オブジェクトを目的語、関数を述語、と捉えると それで多態や継承が出来なくなるっつーんなら困るけど、そういうわけではないからね だったら現実世界で起こっていることに合わせて考えたほうが自然だね
- 59 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 19:39:23.22 ID:OrUjMMRy.net]
- メッセージングのオブジェクト指向の言い方で言うと、
主語はメッセージのレシーバであり、文の残りはメッセージだ
- 60 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 23:40:46.34 ID:3kY/wzgi.net]
- >>58 チンパンジーのアイちゃんかな?
- 61 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 23:55:42.86 ID:CpCNnIMM.net]
- >>58
x.sin() では x がオブジェクトで、sinというメソッド(もしくはメッセージ?)を処理していて、 sin(x) では sin がオブジェクトで、xという入力を処理している。 どちらかの方がよりオブジェクト指向的だという序列なんかない。 数学関数それ自体をオブジェクトと認めようとしない思想(?)の根源は何なんだ?
- 62 名前:デフォルトの名無しさん [2016/01/10(日) 00:13:34.71 ID:MD/fGeTk.net]
- ポーランド記法嫌いそう
- 63 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 00:21:12.30 ID:sdj7zt3O.net]
- 演算子前置のポーランド記法は嫌いだなぁ
存在する意味がわからないレベルで嫌い。 演算子後置の逆ポーランドじゃないとね。
- 64 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 00:34:49.51 ID:0XznusY4.net]
- > 存在する意味がわからないレベルで嫌い。
なんで? > 演算子後置の逆ポーランドじゃないとね。 なんで?
- 65 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 00:40:13.45 ID:hoksOuY6.net]
- Add 3 to 5, then multiple it by 2.
- 66 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:09:07.40 ID:UgGJRpwk.net]
- 逆ポーランドの方が実装しやすいと思う。
人それぞれの範疇だが。
- 67 名前:デフォルトの名無しさん [2016/01/10(日) 01:11:54.59 ID:MiN6/z6v.net]
- >逆ポーランドの方が実装しやすいと思う。
意味がわからん。 構文木作るのに一番前と後でなんか変わるか? AST作らずにそのまま逐次実行するならスタックに 積むだけでいい逆ポーランドの方がいいかもしれんが
- 68 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:16:08.27 ID:+l1yiqNW.net]
- x.sin() では x がオブジェクトで、sinというメソッド(もしくはメッセージ?)を処理していて、
sin(x) では sin がオブジェクトで、xという入力を処理している。 どちらかの方がよりオブジェクト指向的だという序列なんかない。 数学関数それ自体をオブジェクトと認めようとしない思想(?)の根源は何なんだ? 違うよな どちらがオブジェクト志向的かといえばx.sin()でしょ xというオブジェクトにsin()というメソッドが属しているという考えなんだから sin()は関数に対してxというオブジェクト、あるいは単にデータを引き渡しているだけ 後者は明らかに関数的な考え方、動詞優位
- 69 名前:デフォルトの名無しさん [2016/01/10(日) 01:27:11.07 ID:hZikTLMs.net]
- 関数へのエイリアスのようなメソッドはドットで繋ぐのでなく、
別の文字にした方がいいよな。
- 70 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:29:17.31 ID:sdj7zt3O.net]
- 釣りじゃなくて単に本当にあたまおかしいのかな?
Xはデータであって演算ではない。Xは演算しない。 Xをオブジェクトとして扱った場合、その操作として実装されるメソッドは データのゲットセットなど内部状態を隠蔽するためのメソッドと 可変不変などのデータ状態をあらわすメソッド。 まだお前の脳内じゃおまえがコーヒーを飲むんじゃなくて コーヒーが勝手に口に飛び込んで来てんのか。
- 71 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:29:19.21 ID:Ch7U5rc3.net]
- x.sin()は手続き言語的だと思うけどなあ
もちろんsin(x)も。 オブジェクト指向ならメッセージを送るような記述の方が自然では
- 72 名前:デフォルトの名無しさん [2016/01/10(日) 01:52:12.61 ID:hZikTLMs.net]
- 現実世界をオブジェクト指向に当てはめるやついるけど馬鹿だよなー
コーヒーが勝手に口まで運ばれてくる機能をコーヒにつけただけじゃんw ついでにコーヒーがしゃべる機能もつけたよ。 問題がないからそういう設計にしたんですよ
- 73 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:53:23.52 ID:+l1yiqNW.net]
- どちらがより汎化されているかではなく
具体例で語ろうとする人間は、プログラムを実装したことがないのでは? 具体的な手続きによる具体的な文字通りのプログラムを書きたいなら Cでかいてどうぞ
- 74 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:59:31.92 ID:+l1yiqNW.net]
- オブジェクト指向だろうと関数志向だろうとやってることは変わらない
オブジェクトはメソッドの第一引数でしかない コーヒーを飲むという行為を書くためには手続き的に書くしか無い コーヒーが俺の口の中にあるという結果を宣言的に書きたいのに その手続きを丹念に描写したいならそうすればいい I.drink(coffee)と書けばいいんだよ I.drink(coffee)とyou.drink(coffee)は飲み方が違う!というのならそう実装すればよい モデリングとは物事を単純化する行為、汎化する行為であって具象化する行為ではない Iとyouの違いがモデルのキーポイントなら、Iとyouという(メソッドの第一引数)をパラメータに加えればいいし そうでないなら含まないほうがモデルがシンプルに保たれる 数学ができない自称モデラーはプログラムを手続き的に書いたらいいんだよ
- 75 名前:デフォルトの名無しさん [2016/01/10(日) 02:00:42.57 ID:hZikTLMs.net]
- 特化させたいのに汎化する必要ある?
狭い世界で使うなら特化させていい。 広い世界で使うなら汎化させる。 それだけ。
- 76 名前:デフォルトの名無しさん [2016/01/10(日) 02:03:41.63 ID:hZikTLMs.net]
- 汎化と特化させるもんを決めるのが設計な
- 77 名前:デフォルトの名無しさん [2016/01/10(日) 02:42:12.92 ID:JhCLPk/2.net]
- >>74
言ってることはわかるがコーヒーを主語に対象を汎化なら coffee1.drunkBy(me); coffee2.drunkBy(you); だろ
- 78 名前:デフォルトの名無しさん [2016/01/10(日) 03:01:38.69 ID:JhCLPk/2.net]
- >>72
普通モデリングなんて想定される実装の多さや効率の問題で変えるものだからね 感性にまかせる初心者ほど文脈や抽象に拘って依存性の上下を無視するよ
- 79 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 04:22:46.36 ID:sdj7zt3O.net]
- アクセル→エンジン→ギア→タイヤじゃなくて
タイヤ.回転で自動車設計してそうだなおまえら。
- 80 名前:デフォルトの名無しさん [2016/01/10(日) 05:12:47.23 ID:JhCLPk/2.net]
- >>79
そうやって現実の構造を想定している時点でもう駄目なんだよ
- 81 名前:デフォルトの名無しさん [2016/01/10(日) 05:20:12.43 ID:JhCLPk/2.net]
- ちうかこれオブジェクトが目的語とか言ってる人か?
英語とプログラミングのobject混同とかとてもまともとは思えないよ
- 82 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 05:34:14.40 ID:97NQyWJD.net]
- >>74
JavaScriptだと実際foo.barは第0番目の引数を指定するための糖衣構文でしか無い オブジェクト指向は別にそんな大したものでも、手続き型と相容れないものでもない 指向とは言うが実際の所スタイルの一部だね
- 83 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 08:13:48.91 ID:86WjwACC.net]
- いいえ、自転車.操業で設計しています
- 84 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 08:49:55.36 ID:jS8+hJYw.net]
- >>82
そういう嘘をまき散らさないでもらいたいなあ。 毛の人といい、技術の普及は嘘との戦いだな。 オブジェクト指向は嘘つきが多すぎた。
- 85 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 09:36:41.30 ID:AcnVMiQc.net]
- >>68
いいえ。 sin(x) と書いたときのsinは十分オブジェクトに見えるでしょ。 xとsinは違う階層(空間)に属するモノだけど、後者の方が階層としては高い。 x.sin()と書くと、あるオブジェクトが自分より高い階層のオブジェクトを所有しているように見えてしまう。 これは俺にとっては不自然なので好きになれない。
- 86 名前:デフォルトの名無しさん [2016/01/10(日) 09:42:21.66 ID:KeJgEHCD.net]
- オブジェクト指向は手続き型と直行する概念だと理解してないのが何人かいるな
- 87 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 09:44:41.71 ID:sdj7zt3O.net]
- >>80
"現実の構造を想定しちゃダメ"て おまえの作るシステムはどんな現実離れした 脳内妄想ベースなんだよ。
- 88 名前:デフォルトの名無しさん [2016/01/10(日) 09:52:56.57 ID:Itquv6VW.net]
- sinは関数だろね。
テーブルを持つためにクラスを使わなければならない言語があったとしても、 極力、ユーザーにとって関数に見えるように実装するべきじゃないのかな。
- 89 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 10:08:13.09 ID:jS8+hJYw.net]
- 関数がオブジェクトじゃ何か困ることでも?
- 90 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 10:09:40.58 ID:jS8+hJYw.net]
- >>79
君が設計する自動車ではエンジンブレーキが効かないようだな。
- 91 名前:デフォルトの名無しさん [2016/01/10(日) 10:29:26.64 ID:hZikTLMs.net]
- ブレーキなんてのは外部から
ベクトルの力を操作するんだから 後付けで全然構わないんだが。
- 92 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 10:41:27.70 ID:AcnVMiQc.net]
- 関数を手続きだと思ってるならそれでいいけど、名前が関数ってだけで数学関数をそういうカテゴリーのものとするのは不適当でしょうね。
- 93 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 11:09:22.36 ID:hXY04te0.net]
- クロージャーって、関数なの?オブジェクトなの?
rubyだとProcのインスタンスでしかないよね
- 94 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 12:33:30.21 ID:jS8+hJYw.net]
- >>91
わからないなら無理に口を挟まないほうがいいよ。
- 95 名前:デフォルトの名無しさん [2016/01/10(日) 13:26:28.06 ID:Itquv6VW.net]
- >>92
関数が状態を持つべきかどうか考えると自ずと答えが出るのではないだろうか。
- 96 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 13:37:48.58 ID:UyzGSaeg.net]
- sin(x)は関数の値であって関数ではないよな。 関数は∀x∈double.sin(x)のことだよな。
- 97 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 13:51:03.83 ID:ainPuYsM.net]
- >>85
実装がどうあれ、OOPではメソッドはオブジェクトに属するものとして考えるから、 x.sin(value)の表記は不自然じゃ無いだろ。sinはオブジェクトxに属している。
- 98 名前:デフォルトの名無しさん [2016/01/10(日) 14:13:06.68 ID:Itquv6VW.net]
- >>97
それは不自然な考え方じゃないかな。 原点に立ち返ってみると、オブジェクト志向とはコード再利用に際して コンポーネント化の要求から発生したもの。 現実に存在する物のように、ディスプレイ上のウィンドウに四角形を 描画しろとメッセージを送るというようなシンプルなものだ。 この場合、四角形自体がオブジェクトであることは問題が無いように感じる。 これは、四角形が状態を保持しているからかもしれない。 一方、数値に対してsinを要求するのは突拍子もないように感じる。 これは、数値を日常いたるところで使用していて、数値がメッセージを受け取る性質を もたないと良く知ってるからではないだろうか。 あるいは計算機オブジェクトに対してsinを要求するなら不自然に感じないのかもしれない。 どうだろうか?
- 99 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:14:35.30 ID:CDx7UjTI.net]
- この種のくそ議論って恣意的な答えしかないんだから、
議論するだけ無駄なんだけどねぇ。
- 100 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:15:24.10 ID:AcnVMiQc.net]
- >>95
状態をもつかどうかは実装しだい。 関数を初期化するとき係数のセットを与えるとかあると思う。 関数がグループとしてまとまって環をなすとか
- 101 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:17:25.96 ID:ainPuYsM.net]
- つか、sin(x)ってなんやねんw
引数無しのメソッドの話か? それならsinは例として不適当だ。 sinを例にするなら、x.sin(value) か、sin(x, value) だろ。
- 102 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:17:26.78 ID:AcnVMiQc.net]
- >>97
そりゃメソッドはオブジェクトに属するだろ。 メソッドとして位置付けるのが適切かどうかの議論をしてるんだよ。
- 103 名前:デフォルトの名無しさん [2016/01/10(日) 14:17:31.05 ID:Itquv6VW.net]
- こういうシンプルな考えに基づくと、四角形と三角形は形状クラスから
派生すると思われる。 しかし、四角形オブジェクトと三角形オブジェクトの合成メソッドは、形状クラスあるいは その派生クラスにあってはならないように感じる。 それは形状合成器クラスに、あるいは単純な関数であった方が良いように感じる。
- 104 名前:デフォルトの名無しさん [2016/01/10(日) 14:21:04.23 ID:JhCLPk/2.net]
- >>87
物理的構造物とは違うんだよ それすら理解できないならもう向いてないとしか
- 105 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:21:57.10 ID:UyzGSaeg.net]
- 属すじゃなくて依存するだと思うが。
- 106 名前:デフォルトの名無しさん [2016/01/10(日) 14:25:29.45 ID:JhCLPk/2.net]
- 例えばゲームでキャラクターが特定のアイテムを使用するモデル
キャラ.使う(アイテム)はもらうアイテムによってメソッドの動作を変える必要があるが 設計としてはアイテム.適用(キャラ)のが遥かに取り回しやすい なのにあえて前者のクソ設計を選ぶのが>>87のようなオバカさん
- 107 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:26:22.66 ID:ainPuYsM.net]
- >>102
それならOOPの議論じゃないな。 >>105 いや、属する/所有するという概念の方が適当だと思う。(実装は違うが) 実際クラスを書くときそう書くだろ。
- 108 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:44:22.50 ID:AcnVMiQc.net]
- >>101
現実の姿を模すという意味だとsinなどは連想配列であって、sin(x)という書き方はそのまんまだよね。 実装においては計算手続きだろうけど。
- 109 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 14:48:45.22 ID:jS8+hJYw.net]
- Smalltalkerが引き上げたらもう初心者しか残ってないのかよ
- 110 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 15:22:03.47 ID:yvIOv1as.net]
- そもそもクラスだってオブジェクト指向とは直接関係ない
>>84 嘘ではなく現実だ
- 111 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 15:23:27.70 ID:yvIOv1as.net]
- 美少女が云々言うのも一般的なクラスベースは融通が効かないねという話であって
オブジェクト指向とは直接関係ないし
- 112 名前:デフォルトの名無しさん [2016/01/10(日) 15:44:15.32 ID:KeJgEHCD.net]
- >>111
ほう、それならウンコをしない美少女をオブジェクト指向で設計して貰おうか
- 113 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 15:50:56.07 ID:AcnVMiQc.net]
- >>97
見逃したいたが、x.sin(value)の value って何だい?
- 114 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 16:06:27.16 ID:ainPuYsM.net]
- >>113
引数だよ。 クラスxのメソッドsinに渡す引数。 俺はそういう話をしてると思ったから。
- 115 名前:デフォルトの名無しさん [2016/01/10(日) 16:18:07.80 ID:hZikTLMs.net]
- xって中身は例えばfloatのデータ自身だぞ?
だから、引数は必要ないんだぞ?
- 116 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 16:26:17.41 ID:ainPuYsM.net]
- >>115
理解した。 それなら、x.sin() なんて形が出てくる余地は無いよな。
- 117 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 16:29:21.43 ID:CDx7UjTI.net]
- 一般に sin に必要な引数は、 pi/2 とかの実数(もしくは複素数) かな。
あとはいくつまでの級数和をとるとか何桁まで計算するとかが引数になるんじゃないかね。 その辺をあいまいなまま value とか x がクラスだの引数だの言ってることに何か意味があると思ってんのかね。
- 118 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 16:34:25.26 ID:ainPuYsM.net]
- >>117
いや、sinの引数がオブジェクトの場合はあるよ。 実数や10進型をクラスで表現したりするし、俺も実際やる。 xがそういうオブジェクトなら、sin(x)でいいし、x.sin()はおかしい。 まあ絶対におかしいとか無理ってわけじゃないけどなw
- 119 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 16:54:55.24 ID:yIre7PYR.net]
- 新しいC++ではsin(x)でもx.sin()でも、どちらの方法でも統一的に呼び出せるようになる予定だから
こんな議論は全く意味ないんだよ? 呼び出す側からしたら、sinがメンバ関数だろうが外部関数だろうが、何であれ、知ったことではないからね 気にしなければならないのは実装する側だけ だからどちらの方法でも呼び出せるようになる、らしい どちらの方法でも呼び出せるんだから、喧嘩する必要ないし、気にする必要ないよね
- 120 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 16:57:47.72 ID:yIre7PYR.net]
- どちらの方法でも呼び出せるんだから
どちらの方が、よりオブジェクト指向的か、考えるのは意味がないんだよ 等しいわけ、等価と考えてよい 見た目が違うだけ 大した問題じゃない
- 121 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 17:00:24.30 ID:ainPuYsM.net]
- なんか違うような気がするなw
- 122 名前:デフォルトの名無しさん [2016/01/10(日) 17:07:10.06 ID:fbwGqbCo.net]
- こんなにややこしいプログラムがオブジェクト指向を使って
こんなに簡潔になりましたって事例が欲しい
- 123 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 17:12:10.48 ID:1042xGua.net]
- >>112
思うんだけど、 うんkをしないというのが、 意思を持ってひたすら我慢して(人の目がある場所では)しないのか、 それとも腸内の美少女菌のおかげでする必要が無いのか、 もしくは他の何かなのかによってイメージが変わってくると思う。 でもしないにしろする必要がないにしろ、排便メソッド自体は備わっててもなんら問題ないと思う。 逆に、腸内やなんかの問題を解決せずに、排便メソッドだけ外して他を流用するということは、 オブジェクト指向的であろうがなかろうが不可能だと思う。 それこそ亞人として設計しなおして全ての手続やメソッドを別に用意することが妥当かもしれない。 だから結論を言うと、この例はそもそも良くないと思う。
- 124 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 17:51:06.88 ID:QPFpTdMb.net]
- >>122
サイズを持っていてくれるのですら俺は嬉しいと思う 文字列や配列を扱うとき int string::size() {return strlen(data);} // 数える関数を使うって例 ↑こーいうのじゃなくて int string::size() {return end - begin;} // 簡単な計算(ポインタの差分)で返す int string::size() {return size;} // 内部でケアしていたprivate変数を返す こういう実装をしうるのが嬉しい 使うときに a = s.size * s.size / s.size % s.size みたいにいっぱい呼び出しても安心 逆に言うとせっかく用意されたsizeメソッドが内部で数えなおしてる場合はつまらないと思う
- 125 名前:デフォルトの名無しさん [2016/01/10(日) 19:10:53.94 ID:fbwGqbCo.net]
- >>124
なるほどねー。
- 126 名前:デフォルトの名無しさん [2016/01/10(日) 19:16:06.37 ID:fbwGqbCo.net]
- >>112
美少女はマーカーインターフェースであり、 美少女として扱うとき排便は隠蔽される。 interface 美少女 { } class おっさん implements 美少女 { void 排便() { } }
- 127 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 20:20:59.69 ID:VQDMXfno.net]
- >>126
それは「何もしない」という排便メソッドを持つ 持たない,ではない
- 128 名前:デフォルトの名無しさん [2016/01/10(日) 20:34:00.62 ID:fbwGqbCo.net]
- >>127
何を言うてんの?排便メソッドを持つのはおっさんだよ。
- 129 名前:デフォルトの名無しさん [2016/01/10(日) 20:41:36.36 ID:KeJgEHCD.net]
- 聖水メソッドもないのに美少女とか笑わせんなよw
- 130 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 21:17:46.16 ID:+l1yiqNW.net]
- オブジェクト志向の考えだと
大便ableインターフェースを実装するんだろ
- 131 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 21:57:06.57 ID:Hm2sxH4v.net]
- 美少女クラスを欲する奴が美少女のウンコがついたぱんつを欲しがらないかと考えると
これは要件定義から間違っているような気がしてならない。
- 132 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 22:05:43.79 ID:zd2SpHtU.net]
- 実装からメソッド設計を考えるより使い方から設計したほうが上手く行くと思う
つまり美少女がうんこ出来るのか、出来ないのかで考えるのでは無く美少女にうんこをさせたいのか、うんこさせたくないのかで考える
- 133 名前:デフォルトの名無しさん [2016/01/10(日) 22:12:58.59 ID:hZikTLMs.net]
- 肛門はコンポーネントとしてアタッチする。
美少女は肛門をインプリメントしていない
- 134 名前:デフォルトの名無しさん [2016/01/11(月) 02:57:08.55 ID:87Jnvcw4.net]
- あのさ、どんな美少女もウンコするんだけど?
- 135 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 03:08:27.43 ID:Rwcs8mHW.net]
- 真の美少女は実在しない
- 136 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 03:18:02.16 ID:4rCdY4Yq.net]
- >>134
youtu.be/_-KfZCZ4F0Q
- 137 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 04:26:03.17 ID:3eUcyomA.net]
- w
- 138 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 14:41:47.97 ID:GiqteBDS.net]
- 関数型言語っていい点もあるけど、変更に弱過ぎない?
ちょっと動作を変えるのにかなり見直さないといけない
- 139 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 16:00:11.66 ID:Rwcs8mHW.net]
- 作りようだね
|

|