- 1 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:20:41.34 ID:/ofNkRJS.net]
- すごいんだよ?
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、 オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、 オブジェクトの実際の型を隠蔽したりすることをいう。 偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。 一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として 「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。 オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で 縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」 という概念はない。 https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96 前スレ オブジェクト指向ってクソじゃね? https://mevius.5ch.net/test/read.cgi/tech/1535085129/
- 404 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:31:53.41 ID:q5KpZg+C.net]
- >>395
コードの重複が減る 変数や引数が減る 分岐やループが減る 不正な操作が減る 危険な操作が減る したがってスコアが良くなる
- 405 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:40:16.34 ID:9S8iKrwU.net]
- >>396
具体的にどうして? 関数と比べて増える要素はあっても減る要素ないよ
- 406 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:46:09.61 ID:9S8iKrwU.net]
- 局所的なグローバル変数を使ってるに過ぎないのにメリットなんかねーよ
バカって結論を俺は持ってるけどね オブジェクト指向のデメリットはグローバル変数のデメリットと同じなんだよ
- 407 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:49:54.17 ID:PnJQ4LJT.net]
- >>398
お前が言ってるのは、グローバル関数のデメリットのことだろ?
- 408 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:52:05.99 ID:PnJQ4LJT.net]
- グローバル変数が悪だからって
グローバルクラスも、同じグローバルがついてる 悪に違いない!って考えるのは単なる短絡思考
- 409 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:53:27.65 ID:oBRWPPCT.net]
- グローバル変数は丸出しでかつ一個じゃん?
メンバ変数は隠すこともできてかつ複数じゃん? あと、まとめて隠しとくメリットもでかくね? int cap = 32, size = 0, data[cap]; // こーいうのより vector<int> v; // こっちがスッキリじゃね
- 410 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:56:23.17 ID:q5KpZg+C.net]
- 局所的なグローバル変数で爆笑した
コメディアンの才能あるんじゃないか?
- 411 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:01:33.11 ID:oBRWPPCT.net]
- というよりもよく考えたら
> 局所的なグローバル変数 というのが単に誤解なんだよな struct data {int value;} void method(struct data *this) {} っていう単なるパラメータなんだから
- 412 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:03:35.69 ID:A1A18Cj4.net]
- おまえら、オブジェクトの意味を知ってて言ってるのか?
知ってりゃグローバル変数なんて意味不明な話しないかw
- 413 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:13:27.53 ID:B8FJbCxl.net]
- ここだけ30年前かよ
ぽっくんの業務では当てはまりませんでしたー ってCOBOLでも書いていたらいいよ 別に困ってないだろ?
- 414 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:46:39.03 ID:WEhY2ED3.net]
- >>396
で、なっぜJavaやC++でたコード書くと あんなことになるんだw
- 415 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:58:44.66 ID:9S8iKrwU.net]
- >>386
それで爆発するならメンバ変数の把握できない状態爆発のが問題 状態を複数持つオブジェクトをクラス内に内包すると単純に乗算でその数が増えていく 状態を10個持つクラスと状態を5個持つクラスがあるだけで取りうる状態数は 50個 ウォーズマンの超人パワー波に状態が増えていく グローバル変数のまずさはこの把握できない状態爆発が本当の問題 問題の本質もわからないサルがオブジェクト指向なんてありがたがってるだけ
- 416 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:07:28.41 ID:Ok+RtHZ3.net]
- ローカル・グローバル・ヴァリアブルwwwwwww
- 417 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:33:22.60 ID:+hej1rjz.net]
- >>386
それは別に構造体定義して引数で渡せばいいだけだね。 >片方のメソッドを消去してももう片方のメソッドは独立に使用し続けられる >なのでそこには依存はないんだぜ メソッドを消去したらみたいな静的なことは問題にしていない。 メソッドの呼び出し順で動作が異なる点について言及している。 つまり状態を共有しているってことについて。 コードベースで見れば確かに構造体の型とそれにひもづく関数を結びつけとくのは 管理しやすいってのはそうだが上記のデメリットをどれだけ上回っているか。
- 418 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:58:58.05 ID:Ok+RtHZ3.net]
- >>409
そうそう 第一段階: 構造体にして渡せばいいだけじゃん(クラス的発想のスタート地点) 第二段階: っていうか構造体と関数っていつもセットだから一緒に管理しよ(メソッド) 第三段界: 管理されたメソッド以外から弄るとバグでやすいから禁止しよ(カプセル化) キミが言うように「〜すればいいだけだよね」ってのを素直に実践するとOOPに到達するんだよ キミも後少しで議論のスタート地点にたてるかもね キミの考え方だと funcA(pState); funcB(pState); これはfuncAとfuncBが状態を共有しているということになるネ
- 419 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:03:43.02 ID:9S8iKrwU.net]
- >>410
funcAに特定のpStateを入れて必ず同じ結果が返るならそれはいいコード 異なる結果が返るならさいっこうにクソ ボディブロー100連発
- 420 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:06:00.57 ID:+hej1rjz.net]
- >キミの考え方だと
>funcA(pState); >funcB(pState); >これはfuncAとfuncBが状態を共有しているということになるネ ならねーよ。 普通に見ればpStateが状態を共有してるってことになるだろ。 どんな馬鹿な見方をするとこんな考え方になるんだろうか。。
- 421 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:06:10.12 ID:Ok+RtHZ3.net]
- 補足すると
funcB(pState); funcA(pState); にかえると動作が異なるからキミの言い分だと常態を共有しているということだね さらに最悪なことにカプセル化されてない場合 funcB(pState); pState->x = 10; funcA(pState); みたいなアドホックなコードから状態を変更されるリスクがあるから 事実上プログラム全体で状態を共有しているようなものだね
- 422 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:07:31.98 ID:Ok+RtHZ3.net]
- >>412
>>413でも補足したけどキミが言ったことをそのまま引用したんだよ 呼び出し順で動作が変わるなら状態を共有してるってね
- 423 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:13:50.08 ID:9S8iKrwU.net]
- >>413
だからいいんだって テメーのコードは pState.funcA() ってやっても pStateの中身が見えないのが問題なんだよ
- 424 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:25:39.53 ID:9S8iKrwU.net]
- funcA(pState)「僕が変更したのはpStateだけです、グローバル変数なんて使ってませんよ」
pState.funcA()「あああああ!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)」
- 425 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:29:45.55 ID:i0t9ojwl.net]
- オブジェクト指向でも副作用って無くすべきだよなぁ
こういうのって手続きかオブジェクト指向しか触ってこなかった人は気づかないもんかな
- 426 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:37:41.79 ID:JSYSCVAX.net]
- pState.func()、funcA(pState)
どちらもpStateを渡して呼び出しているし、pStateを変更しただけです!と言えるのでは 副作用が嫌ならimmutable objectにすれば?
- 427 名前:デフォルトの名無しさん [2018/10/28(日) 14:39:53.29 ID:86INTnoC.net]
- >>418
nimではどっちも同じ意味だな…
- 428 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:43:01.09 ID:WEhY2ED3.net]
- もうしっちゃかめっちゃかだな
ホント都市伝説なオブジェクト指向
- 429 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:47:10.20 ID:9S8iKrwU.net]
- >>418
private無ければな
- 430 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:03:12.30 ID:JSYSCVAX.net]
- >>421
privateはデータに直接アクセスできる関数を制限するだけなのに それを無くしたいは何で?
- 431 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:42:48.94 ID:q5KpZg+C.net]
- >>417
ValueObjectからAggregate Rootまで全部イミュータブルにする派閥もあるよ
- 432 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:02:29.47 ID:1gIkUjQ9.net]
- あるメソッドがどのスーパークラスで定義されてて、
それがどのスーパークラスでオーバーライドされてて、 結果的にいま自クラスで呼んでるこのメソッドはどこで定義されたものなのかが わかりにくいのが非常にイライラすることがあるけどお前らどうしてんの? 真面目にクラスライブラリのリファレンスを愚直に辿ってんの?
- 433 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:09:00.49 ID:q5KpZg+C.net]
- >>424
どれが呼ばれて何をやってるかを気にしなくていいように作るのが正解
- 434 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:15:39.00 ID:1gIkUjQ9.net]
- >>425
そもそも一つ上のスーパークラスで定義されてないメソッドを呼んでるコードを見た時 そのメソッドってどのクラスで定義されてるのかがわからないと、どういう機能のメソッド なのかわからなくね? スーパークラスから継承したメソッドはオーバーライドしていなくても全て下位のサブクラスの リファレンスマニュアルに書いてくれるならいいんだがそうなってないのがイラつくって話
- 435 名前:デフォルトの名無しさん [2018/10/28(日) 16:25:39.62 ID:vBzuIBdi.net]
- オブジェクト指向と関係あるか不明だけど、一時期関数型言語に嵌って、オブジェクト指向よりも依存性を抑えられて保守性が上がって良いとは思ったんだが、そればかりだとCPUパワーが発揮出来ないんだよね。
(ほぼキャッシュに収まらず、メモリアクセスが増える) んで、対極のCやアセンブラに手を出した。 今度はグローバル変数が多くなる。 (逆に如何に変数(メモリアドレス)へのアクセス減らしてレジスタ使い回すかで速さが違ってくるから、それはそれで楽しい。ただし8/16ビットに限る。それ以上はハードが複雑になり過ぎる) 結局オブジェクト指向って、その間をとったんじゃ無いかと思うんだよね。(メモリアクセス減らしつつグローバル変数減らす苦肉の策+責任分担) 実際、CからC++への移行期はまだCPUも遅くて、オブジェクト指向にすると遅くなると言う意見が多かった。 (C++やJava、C#、Delphiで一応オブジェクト指向も勉強したけど、効率と言うより保守性や多人数での開発が前提な気がする。コードは全体じゃ増えるけど、このクラスはお前ね。みたいに割り振り易い) (特にC#は1つのクラスを複数ファイルに分けられるので、メソッド単位で人に任せ易い。個人では逆に分かりにくくて迷惑な機能) tcl/tkとかある通り、必ずしもGUIはオブジェクト指向じゃ無いと使い難いって事はない。 Haskellだって(関数的じゃないから気持ち悪いだけで)向いてないとは思わなかった。 ただ既にIDEの整っているのがオブジェクト指向ってだけだが、それだけで十分オブジェクト指向を勧める価値はあるんじゃないかな。
- 436 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:31:22.24 ID:q5KpZg+C.net]
- C#のpatialは分業のためじゃない
コード生成のためだ
- 437 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:39:33.30 ID:WEhY2ED3.net]
- >>427
スピードをとても重視するなら不便でも強い最適化のかかる言語を選ぶしかないだろ 突き詰めればCかFortranかアセンブラしかなくなる 逆にvm上やインタプリタでもスピード敵に問題なければ生産性、保守性、可読性、 依存抑制、独立性、局所性、階層化構造、拡張性を重視していいだろ ほとんどは後者
- 438 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:40:53.22 ID:9S8iKrwU.net]
- >>422
値が見えないから
- 439 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:42:51.19 ID:JSYSCVAX.net]
- >>430
getterとかプロパティ作って
- 440 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:44:46.79 ID:WEhY2ED3.net]
- そうやってwebみたいにくもの巣状態になるんだよな
- 441 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:45:09.74 ID:9S8iKrwU.net]
- >>431
publicでええよ
- 442 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:46:44.13 ID:WEhY2ED3.net]
- いやいっそclassの外に出せよw
- 443 名前:デフォルトの名無しさん [2018/10/28(日) 16:51:06.47 ID:vBzuIBdi.net]
- >>429
いあ、だから。。。 その中間を目指したんじゃないかと。 関数型言語ほど目指すと遅くなる。 最適化目指し過ぎると大規模開発に対応出来ない。 オブジェクト指向は現実解だったんじゃないかと。
- 444 名前:デフォルトの名無しさん [2018/10/28(日) 16:56:20.42 ID:oLhbCszz.net]
- チンポがシコシコするぜ!
- 445 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 16:57:12.44 ID:WEhY2ED3.net]
- >>435
結果として性能的にそういう位置づけに当たることがあるかもしれないが スピードのための折衷案を目指して作り出された物ではなく あくまでソフトウエアの構造を表現する新しいパラダイムを目指していたと思うよ。 少なくとも1990年代初期ころまでは。 あとhaskelやMLの生成するnativeコードは結構早い(といわれている
- 446 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:01:57.75 ID:JSYSCVAX.net]
- >>433
何処からでも変更できるようにしたいのか それって…
- 447 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:08:22.93 ID:Ok+RtHZ3.net]
- ネットワークとデータアクセスがあるからパフォーマンス上げるなら水平スケールするように設計する
スケール前提だと細かい最適化は非効率的だし最適化のためにメンテナンス性が悪くなって設計ミスってスケールしなくなったら最悪
- 448 名前:デフォルトの名無しさん [2018/10/28(日) 17:13:06.13 ID:vBzuIBdi.net]
- >>437
うい。 折衷案を目指したのではなく、悪魔で手続き型言語(構造化プログラミング)の延長として保守性を高めた結果だと思う。 代入が(殆ど)無い関数型言語と違って、代入前提で保守性高めた結果。 因みにMLとOcamlはC並みだと言われるが、少なくともHaskellはLL並みよ? (C並みにするには先行評価しまくるしか無いので、遅延評価のHaskellは「速くできるけど面倒臭い」) それでも大規模開発に強いから良いんだろうけど、結局どこぞの銀行にはOcamlが採用されてたね。 Haskell好きだけど、現実はそうだよねーって思うよ。 割と前から言ってるけど、関数型言語はアルゴリズムを読むだけで分かる言語なので学習には向く。 アルゴリズムが分からなかったら関数型言語で理解して、オブジェクト指向言語で書くのが現実的じゃ無いかな。
- 449 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:17:31.62 ID:WEhY2ED3.net]
- >>440
haskelの生成コードの性能については俺の記憶違いかな。 そうなんだよねC++やjavaは基本的には構造化の延長でstructの instanceのscopeにmethodを結びつけるscopeingで ソフトウエアを表現しようとして、非階層的extent, scopeの依存の ネットワークのわなにはまるんだよ
- 450 名前:デフォルトの名無しさん [2018/10/28(日) 17:30:27.68 ID:vBzuIBdi.net]
- >>441
いあ、記憶違いでは無いと思う。 Haskellも実行速度ランキングで一時期一位取ってた。 ただ、それはソースを読むとゴリゴリに最適化したもので、一般には普通に書くとLL並み。 ランキングは言語の速さだけでなく、信者の意地も含めての結果だと思った。
- 451 名前:デフォルトの名無しさん [2018/10/28(日) 17:31:12.68 ID:rXYAu0j5.net]
- クギと板がある
クギをうち込んで板と板をくっつける 板と板をくっつけるだけの単純なオブジェクトの依存関係でも それが増えるにつれ、その単純な依存関係ですら低学歴知恵遅れの手にかかると だれも手に負えないシロモノになってる オブジェクト指向でも構造化プログラミングでも、低学歴知恵遅れの手にかかれば結果は同じ ありえないデータ構造になってるというより規格化された構造の痕跡すらない状態になってる 構造化プログラミングでも要求されるまともなデータ構造の設計ができるという前提条件がなければ 当然オブジェクト指向でクラスの設計なんかそもそもムリだからな ペンギンが空飛ぶとか飛ばないとかまずどうでもいいワケ それ以前の問題だからな
- 452 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:35:35.29 ID:WEhY2ED3.net]
- 半角ちゃん、たとえ話がくどいよ
人のことをどうこうじゃなく オブジェクト指向がどうか なぜそういう話をできないんだあんたは
- 453 名前:デフォルトの名無しさん [2018/10/28(日) 17:36:35.53 ID:86INTnoC.net]
- いやペンギンが空飛んだら大事件だろ。
世界中でトップニュースになるぞ。
- 454 名前:デフォルトの名無しさん [2018/10/28(日) 17:44:43.42 ID:rXYAu0j5.net]
- オレは明確なコタエを一貫して書き込んでる
オレの
- 455 名前:セ説の正しさを補強したレスにちゃんとなってるからな
一切ムダがない 低学歴知恵遅れにオブジェクト指向は キチガイに刃物 低学歴知恵遅れにオブジェクト指向はムリ 当然、この板にいるような低学歴知恵遅れにオブジェクト指向はムリ わかった? 低学歴知恵遅れには分かんないか、やっぱり [] - [ここ壊れてます]
- 456 名前:デフォルトの名無しさん [2018/10/28(日) 17:59:29.84 ID:vBzuIBdi.net]
- >>446
半分合ってて半分間違い。 知恵遅れに刃物は合ってるけど、だからこそオブジェクト指向でその影響を局所化してる。 構造化プログラミングとかだとグローバル変数が多い分、全体まで影響しかねない。 オブジェクト指向でも構造化プログラミングでも知恵遅れにまともなプログラミングは出来ないのは同意。 だが、周りにかける迷惑の範囲が違う。
- 457 名前:デフォルトの名無しさん [2018/10/28(日) 18:03:38.75 ID:rXYAu0j5.net]
- 低学歴知恵遅れの理解では
構造化プログラミングはグローバル変数を使うことになるのか オブジェクト指向なら使わないですむと やっぱり低学歴知恵遅れがいうことは 一味違うわ
- 458 名前:デフォルトの名無しさん [2018/10/28(日) 18:11:37.14 ID:vBzuIBdi.net]
- >>448
程度問題だよ。 特にGUIでは顕著に違う。 初期化関数とイベントの関数で共通の変数とかね。 イベント関数内で初期化する訳にはいかないって場面は意外と多いよ。
- 459 名前:デフォルトの名無しさん [2018/10/28(日) 18:13:14.02 ID:rXYAu0j5.net]
- こんどは程度とな。。。。
クラスを全部構造体にかえてみ なにが違うわけ?
- 460 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:18:05.08 ID:Ok+RtHZ3.net]
- 構造体にデータと関数ポインタを持たせてOOPってのはC言語でも昔から知ってる人はやってた
言語でサポートしてミスできないようにしただけで中身は同じなんだよな ということはアンチOOPの人たちも実質OOPを使っていたと言えなくもないな
- 461 名前:デフォルトの名無しさん [2018/10/28(日) 18:45:19.42 ID:oLhbCszz.net]
- でも俺はパソコンに向かって独り言ブツブツ言って、チンポがシコシコしてるだけだ!!!
- 462 名前:デフォルトの名無しさん [2018/10/28(日) 19:02:09.50 ID:vBzuIBdi.net]
- >>450
馬鹿なの? 全部構造体にしたらどこからでも参照し放題でしょ? 全部じゃないが、ある程度の変数がクラス内のメソッドでしか使われないから影響が構造化プログラミングよりはマシなんだよ。 自分の作った構造体を知恵遅れに弄られたいの? 次関数呼んだら、弄られてて予定してた値と違うとかあるんだよ? (そして、それが自分のせいじゃないとか) 関数型言語は代入が基本的に無いから、同じグローバル変数を使っても、そっちはそっちで勝手にバグ作っててもこっちに影響が無いってだけ。 変数を書き換えることが基本だからオブジェクト指向は生まれたんじゃないかと思うし、それはそれで一つの正解だとは思うよ。
- 463 名前:デフォルトの名無しさん [2018/10/28(日) 19:09:04.54 ID:vBzuIBdi.net]
- と言うか最初から関数型言語ほど徹底するとメモリアクセスが増えて遅くなるし、最適化目指すと大規模開発に対応出来ないって書いてる通り、
最初から程度問題の話しかしてないよ。
- 464 名前:デフォルトの名無しさん [2018/10/28(日) 19:27:29.98 ID:MrnoigLK.net]
- チンポがシコシコするぜ!
- 465 名前:デフォルトの名無しさん [2018/10/28(日) 19:27:32.77 ID:rXYAu0j5.net]
- いじられたくないなら
構造体のポインタにconstつけて入力の引数でわたせばおしまい いじられたくないのに なんでグローバルスコープでなんでもありでわたそうとすんの? どうしてそんなに低学歴知恵遅れは頭ワルイの? もしかして低学歴知恵遅れは 引数の入力となる状態が変更されないクラスのインスタンスにconstつけたり クラスのインスタンスが変更されないメソッドにconstをちゃんとつけたりもしないの? どうしてもグローバルスコープにおきたいなら 最低でもconstの構造体ポインタでアクセスできるようにでもしとけば 知恵遅れが想定外の記述をしないかぎり変更されることはないからな やっぱりな低学歴知恵遅れにオブジェクト指向はムリ
- 466 名前:デフォルトの名無しさん [2018/10/28(日) 19:34:00.47 ID:vBzuIBdi.net]
- >>456
お前、Win32APIでプログラミングしたこと無いだろ。
- 467 名前:デフォルトの名無しさん [2018/10/28(日) 19:38:58.32 ID:rXYAu0j5.net]
- こんどはwin32APIとな。。。
win32APIってmicrosoftがmicrosoft windowsで提供するただのアプリケーションインターフェースのことだが それがどうかしたのか。。。 ホントなこんなのがオブジェクト指向()とかなんとかいっちゃってるワケだからな
- 468 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 19:41:44.86 ID:Niq+/yqY.net]
- どういう問題を示唆されてるかわからなければ半角は黙ったほうが良いよ。
また恥晒すの? 低スペだから?
- 469 名前:デフォルトの名無しさん [2018/10/28(日) 19:43:54.73 ID:rXYAu0j5.net]
- また低学歴知恵遅れがしゃしゃりでてきてるわ
大体分かるwindowsでイベントの処理で
- 470 名前:データをうまく渡すことが
低学歴知恵遅れのオツムではまともにできない [] - [ここ壊れてます]
- 471 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 19:45:20.34 ID:1gIkUjQ9.net]
- 自分だけはバカじゃないという前提
- 472 名前:デフォルトの名無しさん [2018/10/28(日) 19:45:50.75 ID:rXYAu0j5.net]
- それが低学歴知恵遅れの程度
- 473 名前:デフォルトの名無しさん [2018/10/28(日) 19:46:34.49 ID:rXYAu0j5.net]
- マジでキミラって低学歴知恵遅れ自覚がないの?
- 474 名前:デフォルトの名無しさん [2018/10/28(日) 19:49:16.31 ID:rXYAu0j5.net]
- こんなのが偉そうに講釈たれてんのがこの板だからな
相当に低学歴で 相当に知能が低い まずコイツラをこの板から排除しないと板が正常化しない
- 475 名前:デフォルトの名無しさん [2018/10/28(日) 19:53:41.93 ID:MrnoigLK.net]
- 米国で上位1%が富の独占をしている大きな理由は、労働者をスキルや成果で大きく選別しているからだ。
しかしながらそうでもしないと、ドラクエ10の下請けのように、コードの質が大きく落ちてしまう。 俺はドラクエ一筋なんてのはむしろゴミなコードを入れてしまう『有害な』働き者なのだ。 それは中小企業のデスクワークによくありがちな、要らない書類ばかり作って俺は仕事ができるみたいなものだ。 提案広場でよく『そう思わない』される理由 dragon-quest.me/dq10/27646/ このゲームすぐ持ち物いっぱいになるな dragon-quest.me/dq10/28435/ 【ドルボードGP】おいwデスルーラ作戦晒すなやwwwww dragon-quest.me/dq10/28002/ でも月額千円では、下請けプログラマーの選別なんて出来っこないだろう? >このゲームすぐ持ち物いっぱいになるな ゲームの仕様について意見を出すと、必ずといっていいほどに『そう思わない』で真っ青。 つまり準廃プレイヤー=下請けプログラマーには、ゲームの仕様を変える能力が欠如しているのだ。 アルバイトの賃金が低いのはスキルを必要としない単純作業だからで、労働者にスキルを求めるのであれば、 アルバイトよりも高い賃金を上乗せして払わなければならず、更に成果に応じた報酬も必要となる。
- 476 名前:デフォルトの名無しさん [2018/10/28(日) 19:56:46.74 ID:vBzuIBdi.net]
- constとか書いてるからさ。
作ってみりゃわかるけど、const付けて〜とか事実上無理。 子Windowの値を親Windowに反映させる時点でグローバル変数が出て来るし、代入不可避。 (別々のコールバック関数が必要) const〜で済んでりゃMFCや.netは出てない。
- 477 名前:デフォルトの名無しさん [2018/10/28(日) 20:12:41.22 ID:rXYAu0j5.net]
- 低学歴知恵遅れにはムリ
それがコタエ
- 478 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 20:16:59.94 ID:1gIkUjQ9.net]
- 他人に対してバカしか言えないやつって頭が悪い可能性が高い
- 479 名前:デフォルトの名無しさん [2018/10/28(日) 20:17:58.05 ID:rXYAu0j5.net]
- しっかり低学歴知恵遅れの理由を書いてあるからな
残念なことに
- 480 名前:デフォルトの名無しさん [2018/10/28(日) 20:50:15.29 ID:MrnoigLK.net]
- 登り棒してたらチンポがシコシコしてきた、小学生時代にそういう経験したか?
- 481 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 21:05:42.65 ID:tuMGnEVB.net]
- >>456
素人露にすんなよw
- 482 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 21:12:11.91 ID:GjeNS8O7.net]
- >>446
>一切ムダがない ほとんど無駄話ばっかしやがって なに言ってやがるw
- 483 名前:デフォルトの名無しさん [2018/10/28(日) 21:44:33.61 ID:MrnoigLK.net]
- >>472
>ほとんど無駄話ばっかしやがって >なに言ってやがるw 俺はもとよりパソコンに向かって独り言ブツブツ言って、チンポがシコシコしてるだけだが?
- 484 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 21:54:03.67 ID:GjeNS8O7.net]
- 局面が変わると融通が効かない複合型データ構造を元にscopeを持たせるから
データ構造のinstanceが依存ネットワークのhubみたいな役割を果たしてしまう。 private/protectedでメンバごとのscopeを人間が制御しようとしても、 一旦中に隠したものを、別の場面では外に見せなきゃいけなくなったりして 少し規模が大きくなると急激に複雑さをます。 また内部scopeからは幅広くすべてがglobal変数みたいに丸見え 局面に応じたscopeやextentの管理がしにくい カプセル化1つとっても
- 485 名前:これだけ欠点があるよ []
- [ここ壊れてます]
- 486 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:00:04.44 ID:GjeNS8O7.net]
- でもカプセル化の一番の弱点というか欠点は
人間が把握しやすい階層的で入れ子なextent, scope管理としにくく 非階層的でランダムグラフ的な依存ネットワークを形成して かつ本来状態が不要なところまでもinstanceを状態変数みたいにして getter/setterで頑張って状態管理しちゃおうとしてカオスに向かうこと
- 487 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:02:38.88 ID:9S8iKrwU.net]
- 何言ってるのかさっぱりわからんかった
オブジェクト指向のメリットの説明はできたん?
- 488 名前:デフォルトの名無しさん [2018/10/28(日) 22:02:55.82 ID:L1fR1kUz.net]
- a.foo()
foo(a) どちらもaを渡してfooを呼んでいるのに a.fooの方はグローバル変数と言うらしい
- 489 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:04:11.51 ID:GjeNS8O7.net]
- 継承にいたっては目も当てられない
コードの実装レベルの類似性に基づく共有のための手段として利用されがちで 論理的な構造、モジュラリティーを破壊し クロスファイルで静的依存ネットワークを形成する。 その静的コードから動的にどのような依存を持ったインスタンスネットワークが 形成されるのかもはやカオスとなる あフォトしか言いようがない
- 490 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:05:25.52 ID:qArEjd5e.net]
- >>477
とりあえずそのfooの実装においてaがどんなふうにアクセスされるのか意識して プログラムしてみたら? 少しはコードがマシになると思うよ。
- 491 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:12:05.45 ID:1CEqWH54.net]
- >>476
とりあえず、インポートで名前がぶつかりにくい ぶつかるのクラス名ぐらいだから
- 492 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:41:05.36 ID:3n4eNDQn.net]
- >>478
継承元のクラスのコードだけを見てもコード変更の影響が推測できないのが本当に邪悪だよな
- 493 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 22:53:27.92 ID:oBRWPPCT.net]
- >>464の意見は正しい
アホなやつほどシッタカレスに努力する 知ってることだけ言うんじゃなくて 知ってることを総動員して精一杯背伸びしたフワフワ文書を書き込むよね 初心者の子はカキコまんでいい 半年ROMれ
- 494 名前:デフォルトの名無しさん [2018/10/28(日) 23:01:01.96 ID:88TeNCm3.net]
- グローバル変数との区別もできないようなので
話すだけ無駄かと
- 495 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:05:48.86 ID:1gIkUjQ9.net]
- リファレンスのドキュメントを継承元スーパークラスから継承したメンバ(フィールド、メソッド)を含めて全部書いてもらえればもうおれはそれ以上は望まない
それだけでいい。。
- 496 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:06:03.23 ID:9S8iKrwU.net]
- そもそもオブジェクト指向のメリットだけ説明すればいい
- 497 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:08:22.68 ID:9S8iKrwU.net]
- 自分が使ってる技術のメリットも説明できんやつはサルだろ
キーボード折って便所掃除でもしてろ
- 498 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:10:16.04 ID:1gIkUjQ9.net]
- いちいち表現が大げさで過激なのは芸風?
- 499 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:26:53.50 ID:1CEqWH54.net]
- >>484
inheritedで一覧出てくるのはあるよね
- 500 名前:デフォルトの名無しさん [2018/10/28(日) 23:43:18.92 ID:rXYAu0j5.net]
- オレの正確無比でムダのないワルクチに耐えられないのは分かる
低学歴知恵遅れが射精できる今の板の状態はゆゆしき問題 まずコイツラに射精させないようにしないといけない 著しい低学歴知恵遅れのオマエ含めてな 低学歴知恵遅れに強いストレスを与え続けて排除することが板の正常化につながるということは もうだれもが気付き始めてる もう後戻りはない
- 501 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:55:19.05 ID:Ho+tawR1.net]
- 射精くらいさせてやれよ、基本的人権にかかわるぞ
つかお前の書くレスもチンポちゃんレベルのゴミだな
- 502 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 03:33:54.12 ID:cH/HmFkL.net]
- 今時継承とか使わないし
マジ包含だし
- 503 名前:デフォルトの名無しさん [2018/10/29(月) 06:35:34.63 ID:aSZfpFql.net]
- 継承は、サブタイピングの目的では使わないけど
差分プログラミングの目的では使う
- 504 名前:っしょ
ケースバイケースだよ [] - [ここ壊れてます]
|

|