カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
探検
オブジェクト指向ってクソじゃね?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/08/24(金) 13:32:09.36ID:ifygL6bT624デフォルトの名無しさん
2018/10/08(月) 17:20:09.48ID:kgyl4Ui4 >>623
いや、テメーで勝手に分岐が必要なブッサイクなクラス作っておいて
それはないなと
それにクラス構造で分岐しないでくんない?
読み辛い
はっきり言ってクソ
仕様書にどんな条件で分岐してるのか書きにくい
控えめに言って死ね
いや、テメーで勝手に分岐が必要なブッサイクなクラス作っておいて
それはないなと
それにクラス構造で分岐しないでくんない?
読み辛い
はっきり言ってクソ
仕様書にどんな条件で分岐してるのか書きにくい
控えめに言って死ね
625デフォルトの名無しさん
2018/10/08(月) 17:24:49.00ID:Tz+BH4lq >>623
こういう奴がパラダイムの違いを理解しないまま書くからOOPが害悪になるんだよな
こういう奴がパラダイムの違いを理解しないまま書くからOOPが害悪になるんだよな
626デフォルトの名無しさん
2018/10/08(月) 17:28:45.60ID:SHTmPUE+ windowsでは普通にイベント分岐処理でもswitch文使う
それを隠蔽化するために仮想関数にして実現するどうかは作るヤツのセンスで決まる
それを隠蔽化するために仮想関数にして実現するどうかは作るヤツのセンスで決まる
627デフォルトの名無しさん
2018/10/08(月) 17:30:28.51ID:kgyl4Ui4628デフォルトの名無しさん
2018/10/08(月) 17:43:41.49ID:YlFF3Gbm いや、実際にWM_xxxxに対するcase文てんこ盛りだけど。Windowsの低レベルプログラムは。
629デフォルトの名無しさん
2018/10/08(月) 17:45:55.46ID:IMi/szTI630デフォルトの名無しさん
2018/10/08(月) 17:48:29.61ID:lYyho1IC MFCのメッセージマップは嫌いだった。
switchのほうが100倍分かりやすい。
switchのほうが100倍分かりやすい。
631デフォルトの名無しさん
2018/10/08(月) 17:54:08.00ID:YlFF3Gbm MFCが出てくる前は、Cでゴリゴリ書いてたのよ
MFCが曲者っつー話はさておき、
Cでクライアントプログラムを書くわけだが、Windows自体はOOそのものの思想で作られていて、ウインドウクラスの登録から始まる
MFCが曲者っつー話はさておき、
Cでクライアントプログラムを書くわけだが、Windows自体はOOそのものの思想で作られていて、ウインドウクラスの登録から始まる
>>626
>windowsでは普通にイベント分岐処理でもswitch文使う
pedzold では終始一貫して switch なのは、ちょっとどうかな、と当時でさえ思っていました
>それを隠蔽化するために仮想関数にして実現するどうかは作るヤツのセンスで決まる
今思うに、これは悪手なのではないかと
>windowsでは普通にイベント分岐処理でもswitch文使う
pedzold では終始一貫して switch なのは、ちょっとどうかな、と当時でさえ思っていました
>それを隠蔽化するために仮想関数にして実現するどうかは作るヤツのセンスで決まる
今思うに、これは悪手なのではないかと
>>631
>Windows自体はOOそのものの思想で作られていて、ウインドウクラスの登録から始まる
それ、今でもよくわからないですね
::RegisterClass() ってコンストラクタに該当するのですか?なぜ ::CreateWindow() とは別に定義したのでしょうか?私はこの二つはラッピングしちゃってます…
>Windows自体はOOそのものの思想で作られていて、ウインドウクラスの登録から始まる
それ、今でもよくわからないですね
::RegisterClass() ってコンストラクタに該当するのですか?なぜ ::CreateWindow() とは別に定義したのでしょうか?私はこの二つはラッピングしちゃってます…
634デフォルトの名無しさん
2018/10/08(月) 19:22:15.46ID:Tqf3ZL+v WindowsをCで書くわけにはいまさら中々いかないだろう。
かといってgcのある言語やインタプリタのようにアプリ寄りの言語で書くのは不可能だろ。
そうやってnative codeを出せかつOSの記述も(苦労するが何とか)記述可能な言語は
消去法でC++しかなくなる。DとかRustじゃ無理。
また、Windowsと言う位だから、上位には何らかのOOP GUI IFを提供しなければならない。
別にC++のOOP機能が優れていたからWindowsがC++が記述されたわけではない。
ここ勘違いしないように。
かといってgcのある言語やインタプリタのようにアプリ寄りの言語で書くのは不可能だろ。
そうやってnative codeを出せかつOSの記述も(苦労するが何とか)記述可能な言語は
消去法でC++しかなくなる。DとかRustじゃ無理。
また、Windowsと言う位だから、上位には何らかのOOP GUI IFを提供しなければならない。
別にC++のOOP機能が優れていたからWindowsがC++が記述されたわけではない。
ここ勘違いしないように。
635デフォルトの名無しさん
2018/10/08(月) 19:25:35.43ID:lYyho1IC WindowsがOOそのものの思想、と言うのはハンドルまみれなAPI群があるので素直に同意できないけど、ウィンドウ周りは多少は頑張った感あるよね。
>>633
ウィンドウクラスとウィンドウを別管理にすることで、同じウィンドウクラスを使い回す時にメモリが節約できるというメリットがあるかと。
>>633
ウィンドウクラスとウィンドウを別管理にすることで、同じウィンドウクラスを使い回す時にメモリが節約できるというメリットがあるかと。
636デフォルトの名無しさん
2018/10/08(月) 19:29:38.91ID:5naxcKBN シグナルが何とかならないかと思うけど
atomとかもう使いたくない
atomとかもう使いたくない
637デフォルトの名無しさん
2018/10/08(月) 20:24:37.00ID:Z6PD3tJ3 >>526さんへ
示された所じゃなくて
その下に有ったリンク先を読んで解った事が有った
https://qiita.com/hiruberuto/items/26a813ab2b188ca39019
読んでいて何が自分に難しいのか?
関数型の場合
処理対象全域を考えて関数で並ぶように作らないといけない
副作用やその他の物を一時に頭に入れて整理し無いといけない
(リンク先にはそうではないと書かれているが自分にはそう見える)
けどオブジェクト指向の場合
対象となる処理を分割して個々に作っていく
分割して個々に作っていった物を連携させて
最終的にはその集合体が出来上がれば機能する
という方が自分に向いている
頭が悪い人間と言うのは広く色んな要素が一編に出て来る物の状態を正確に把握して
それを組み立てる
というのが苦手なのよ
関数型プログラミングは間違いなく
使える人が限られる
そういう物になるだろあなぁ
でもc++なんかでも標準ライブラリーに既にそれっぽいのが有るから
使える程度には理解しないといけなくなるんだろうねぇ
その程度ならなんとかなるかなぁ(笑)
何にしても参考になりました
示された所じゃなくて
その下に有ったリンク先を読んで解った事が有った
https://qiita.com/hiruberuto/items/26a813ab2b188ca39019
読んでいて何が自分に難しいのか?
関数型の場合
処理対象全域を考えて関数で並ぶように作らないといけない
副作用やその他の物を一時に頭に入れて整理し無いといけない
(リンク先にはそうではないと書かれているが自分にはそう見える)
けどオブジェクト指向の場合
対象となる処理を分割して個々に作っていく
分割して個々に作っていった物を連携させて
最終的にはその集合体が出来上がれば機能する
という方が自分に向いている
頭が悪い人間と言うのは広く色んな要素が一編に出て来る物の状態を正確に把握して
それを組み立てる
というのが苦手なのよ
関数型プログラミングは間違いなく
使える人が限られる
そういう物になるだろあなぁ
でもc++なんかでも標準ライブラリーに既にそれっぽいのが有るから
使える程度には理解しないといけなくなるんだろうねぇ
その程度ならなんとかなるかなぁ(笑)
何にしても参考になりました
638デフォルトの名無しさん
2018/10/08(月) 20:28:18.73ID:kgyl4Ui4639デフォルトの名無しさん
2018/10/08(月) 20:31:49.61ID:kgyl4Ui4 メソッド呼ぶたびにクソクラスの内部のウンコがどうなってるのか
ケツアナほじって掻き出さなきゃいけねーんだよ
ケツアナほじって掻き出さなきゃいけねーんだよ
640デフォルトの名無しさん
2018/10/08(月) 20:35:33.15ID:IMi/szTI 標準ライブラリのprivateメソッドとか
もうソースコード読みまくりだからな
もうソースコード読みまくりだからな
>>635
>ウィンドウクラスとウィンドウを別管理にすることで、同じウィンドウクラスを使い回す時に
同じウィンドウクラスを使いまわすっていうのが、そういうことをやる機会があるかどうか、という点でいまいち、なんです
つまり現状のウインドウクラスにてウィンドウプロシージャを設定する、というのが疑問でして、ウィンドウプロシージャが ::CreateWindow() の引数だったら、使いまわす、ってことも検討したかもしれませんが
>ウィンドウクラスとウィンドウを別管理にすることで、同じウィンドウクラスを使い回す時に
同じウィンドウクラスを使いまわすっていうのが、そういうことをやる機会があるかどうか、という点でいまいち、なんです
つまり現状のウインドウクラスにてウィンドウプロシージャを設定する、というのが疑問でして、ウィンドウプロシージャが ::CreateWindow() の引数だったら、使いまわす、ってことも検討したかもしれませんが
642デフォルトの名無しさん
2018/10/08(月) 21:30:56.46ID:811LgONL >>637
foreach, map, reduce, filter などを使うことによって、
for ループやif分岐や一時変数を使う助長で古典的な書き方から脱却し
リストの要素間の多対応・変換を宣言的に記述し切っていく、
既存言語に拡張されつつある関数プログラミングパラダイムの
限定的でも美味しいとこ取り的な使い方からはじめても全然いいんジャマイカ
foreach, map, reduce, filter などを使うことによって、
for ループやif分岐や一時変数を使う助長で古典的な書き方から脱却し
リストの要素間の多対応・変換を宣言的に記述し切っていく、
既存言語に拡張されつつある関数プログラミングパラダイムの
限定的でも美味しいとこ取り的な使い方からはじめても全然いいんジャマイカ
643デフォルトの名無しさん
2018/10/08(月) 21:35:43.59ID:811LgONL あと、詳しく書くと長くなるので一言ずつ書くと
繰り返しではなく末尾再帰を使えるところでは活用する
クラスを設けて多様性をあらわすのではなく、クロージャーや部分適用で簡潔に表現する
遅延評価や関数変換を使って有効なところで使う
とか
繰り返しではなく末尾再帰を使えるところでは活用する
クラスを設けて多様性をあらわすのではなく、クロージャーや部分適用で簡潔に表現する
遅延評価や関数変換を使って有効なところで使う
とか
644デフォルトの名無しさん
2018/10/08(月) 21:36:52.15ID:IMi/szTI 関数型とオブジェクト指向は実は相性がよくて、
オブジェクト指向でオブジェクトとしての構造を
そしてオブジェクト指向の中で使う関数は関数型と
組み合わせて使うのが最強なんだ
オブジェクト指向でオブジェクトとしての構造を
そしてオブジェクト指向の中で使う関数は関数型と
組み合わせて使うのが最強なんだ
645デフォルトの名無しさん
2018/10/08(月) 21:39:02.72ID:811LgONL646デフォルトの名無しさん
2018/10/08(月) 21:43:02.58ID:IMi/szTI 末尾再帰の話が出てきたから、知識の浅い人に説明しておくと
関数型は再帰で実装するから手続き型のループを使う方法よりも遅いという常識を
特定の条件を満たしている場合にループに変換することで、遅くならない
というもの。決してループよりも速くなるわけではない
関数型は再帰で実装するから手続き型のループを使う方法よりも遅いという常識を
特定の条件を満たしている場合にループに変換することで、遅くならない
というもの。決してループよりも速くなるわけではない
647デフォルトの名無しさん
2018/10/08(月) 21:45:21.28ID:IMi/szTI648デフォルトの名無しさん
2018/10/08(月) 21:45:58.21ID:811LgONL >>644
あとcontinuationとかyieldとか使うと幸せになることがたまにあるぜよ
あとcontinuationとかyieldとか使うと幸せになることがたまにあるぜよ
649デフォルトの名無しさん
2018/10/08(月) 21:46:30.31ID:IMi/szTI >>648
はい。オブジェクトの内部で使います
はい。オブジェクトの内部で使います
650デフォルトの名無しさん
2018/10/08(月) 21:47:17.86ID:811LgONL651デフォルトの名無しさん
2018/10/08(月) 21:48:12.08ID:811LgONL >>649
methodの中つまり関数の中でだろ
methodの中つまり関数の中でだろ
652デフォルトの名無しさん
2018/10/08(月) 21:50:45.37ID:811LgONL 明日出勤なので寝るぜ
あばよはげどもノシ
あばよはげどもノシ
653デフォルトの名無しさん
2018/10/08(月) 21:51:32.33ID:IMi/szTI654デフォルトの名無しさん
2018/10/08(月) 21:53:09.64ID:kgyl4Ui4 オブジェクト指向のメリットは説明できたかい?
定期的に貼らないと関係ないこと主張する奴がわくからな
これが説明できないならクソ
定期的に貼らないと関係ないこと主張する奴がわくからな
これが説明できないならクソ
655デフォルトの名無しさん
2018/10/08(月) 21:56:30.02ID:IMi/szTI オブジェクト指向のメリットは状態を
簡潔にわかりやすく持たせることができる
アルゴリズムならともかくシステムから
状態をなくすのは不可能なので
それをどれだけ直感的に扱うか不可欠になる
それが関数型に対するオブジェクト指向のメリット
簡潔にわかりやすく持たせることができる
アルゴリズムならともかくシステムから
状態をなくすのは不可能なので
それをどれだけ直感的に扱うか不可欠になる
それが関数型に対するオブジェクト指向のメリット
656デフォルトの名無しさん
2018/10/08(月) 22:00:12.76ID:811LgONL >>655
直感ですか…
直感ですか…
657デフォルトの名無しさん
2018/10/08(月) 22:01:29.15ID:r/3VlGF9 OOPのメリットを教えてくれる奴なんていくらでもいたよな
それでOOPが普及して
ふと気付いたらメリットが何だったのか思い出せない
ここでまたメリットを教えられても無限にループするだけだ
それでOOPが普及して
ふと気付いたらメリットが何だったのか思い出せない
ここでまたメリットを教えられても無限にループするだけだ
658デフォルトの名無しさん
2018/10/08(月) 22:05:17.61ID:IMi/szTI659デフォルトの名無しさん
2018/10/08(月) 22:05:31.32ID:811LgONL 型クラス、クラスscope、オブジェクトscope,
同じ名前の多態(振る舞いの違い)、
継承によるあっちこっちに無難格納したソースファイルの
似たmethon部分の短冊のような共有による依存性のジャングル
これらについて理論的、科学的に有効性を述べないとだめだよ
同じ名前の多態(振る舞いの違い)、
継承によるあっちこっちに無難格納したソースファイルの
似たmethon部分の短冊のような共有による依存性のジャングル
これらについて理論的、科学的に有効性を述べないとだめだよ
660デフォルトの名無しさん
2018/10/08(月) 22:11:45.44ID:811LgONL そう、そしてそれらがある程度規模の大きく複雑な
アプリケーションレイヤのソフトウエアの構造表現として
どう有効なのか理論的、科学的に述べないと…
アプリケーションレイヤのソフトウエアの構造表現として
どう有効なのか理論的、科学的に述べないと…
661デフォルトの名無しさん
2018/10/08(月) 22:19:30.00ID:r/3VlGF9 確実にメリットがあるなら人には教えないで独占する
それが理論的で合理的
確実ではないギャンブルなら人に教える
それが理論的で合理的
確実ではないギャンブルなら人に教える
662デフォルトの名無しさん
2018/10/08(月) 22:28:08.41ID:811LgONL >>661
つまりメリットは無いとw
つまりメリットは無いとw
663デフォルトの名無しさん
2018/10/08(月) 22:33:36.33ID:811LgONL オブジェクト指向は低学歴にはムリ
それはあってる
オマエも含めてな
それはあってる
オマエも含めてな
664デフォルトの名無しさん
2018/10/08(月) 22:34:58.92ID:6UIbz9ua たまに見るけど100%でない=0%の人の思考はどうなってんだろうね
665デフォルトの名無しさん
2018/10/08(月) 22:35:17.30ID://kQ6Yzy パニックでも起しちゃってるのかなこの子
666デフォルトの名無しさん
2018/10/08(月) 22:37:03.95ID:811LgONL 低学歴知恵遅れが自分を大きくみせようと
必死なのはわかる
必死なのはわかる
667デフォルトの名無しさん
2018/10/08(月) 22:38:24.97ID:811LgONL だいたいわかる
ウンコスクリプトしか使えないような低学歴知恵遅れが
ムダにオブジェクト指向あげしてる
ウンコスクリプトしか使えないような低学歴知恵遅れが
ムダにオブジェクト指向あげしてる
668デフォルトの名無しさん
2018/10/08(月) 22:44:26.66ID:YGZFPxYk まーたお前かいつも必死だな
669デフォルトの名無しさん
2018/10/08(月) 22:51:37.06ID:811LgONL 節子それfake
670デフォルトの名無しさん
2018/10/08(月) 23:13:05.52ID:r/3VlGF9 1bit思考の中で最悪なのは、需要と供給
買う方が100%自己責任と思ってるから売ってる側は罪悪感0
買う方が100%自己責任と思ってるから売ってる側は罪悪感0
671デフォルトの名無しさん
2018/10/08(月) 23:18:57.76ID:811LgONL その論点から起こしてだね、
オブジェクト指向の有効性を非論理的、寝技的に布教しようとするのは
いくらなんでももう、無理があるよ
オブジェクト指向の有効性を非論理的、寝技的に布教しようとするのは
いくらなんでももう、無理があるよ
672デフォルトの名無しさん
2018/10/08(月) 23:40:30.66ID:C02Vpegg ここの議論でもそうだけどカプセル化とかインターフェイスに対するプログラミングとか
ここの要素について話すのは意味があるが
「オブジェクト指向」って言葉でまとめると途端にクソ議論になる。
その意味ではやっぱり失敗だろう。
ここの要素について話すのは意味があるが
「オブジェクト指向」って言葉でまとめると途端にクソ議論になる。
その意味ではやっぱり失敗だろう。
673デフォルトの名無しさん
2018/10/09(火) 02:31:35.79ID:GxJd+3a3674デフォルトの名無しさん
2018/10/09(火) 06:16:50.45ID:1H6kld1Z カプセル化とかは「学習コスト」だから100%ネガティブ
コストを消費する代わりに何かメリットがないとポジティブどころか中立にもならねえ
コストを消費する代わりに何かメリットがないとポジティブどころか中立にもならねえ
675デフォルトの名無しさん
2018/10/09(火) 06:53:21.12ID:Fv2MSo0/ 今になって思うのは、オブジェクト指向にまつわる説明で特徴的な何々は何々であるだから何々があるはずだ的な事は製作者側の考え方の根本だったんだろうな。
ここに共感してないから触ってても疑問がつきまとう。
それでもってこういう考え方をする奴は布教的な奴が多い。こういう奴らは本当本当に嫌いだわ。人のその後に対する考えなんてみじんも無い。
例えばウェブ上で人気の言語的なランキングで上位に入ってる言語と周りを見渡して実際触られる言語の食い違いがひどい。
他の奴の意見見てると大体同じ感覚で変な笑いがでる。
ここに共感してないから触ってても疑問がつきまとう。
それでもってこういう考え方をする奴は布教的な奴が多い。こういう奴らは本当本当に嫌いだわ。人のその後に対する考えなんてみじんも無い。
例えばウェブ上で人気の言語的なランキングで上位に入ってる言語と周りを見渡して実際触られる言語の食い違いがひどい。
他の奴の意見見てると大体同じ感覚で変な笑いがでる。
676デフォルトの名無しさん
2018/10/09(火) 07:05:27.74ID:xcSr1k5g 振り返ると、信仰宗教みたいな流行だった
677デフォルトの名無しさん
2018/10/09(火) 10:12:33.99ID:hleJLyKe オブジェクト指向の宗教的側面と、Rubyの宗教的側面がかけ合わさって
ドン引きするレベルの狂信者が出現した
もはや言語は死につつあるのに狂信者は毎日板を荒らし回ってる
ドン引きするレベルの狂信者が出現した
もはや言語は死につつあるのに狂信者は毎日板を荒らし回ってる
678デフォルトの名無しさん
2018/10/09(火) 10:58:21.87ID:MhhKJFZu679デフォルトの名無しさん
2018/10/09(火) 11:01:37.61ID:MhhKJFZu カプセル化してしてデータを閉じ込めることこそ
オブジェクト指向の真髄、データに対する責務を
集約する事でプログラムを作りやすく堅牢で
メンテナンスしやすくできる
オブジェクト指向の真髄、データに対する責務を
集約する事でプログラムを作りやすく堅牢で
メンテナンスしやすくできる
680デフォルトの名無しさん
2018/10/09(火) 11:40:52.35ID:1H6kld1Z681デフォルトの名無しさん
2018/10/09(火) 12:02:03.11ID:MhhKJFZu >>680
一般論過ぎてオブジェクト指向の話になってないやん
一般論過ぎてオブジェクト指向の話になってないやん
682デフォルトの名無しさん
2018/10/09(火) 12:02:46.32ID:MhhKJFZu 赤信号なら止まると良いぞと言ってるようなもの
当たり前やん
当たり前やん
683デフォルトの名無しさん
2018/10/09(火) 12:05:55.31ID:MhhKJFZu オブジェクト指向テクニックを使うと外から壊されにくい
堅牢なデータ構造を作ることができてプログラムの
完全性を保証できる、オブジェクトを組み合わせて
より大きなプログラムを作れるっていうのが
オブジェクト指向のメリット
堅牢なデータ構造を作ることができてプログラムの
完全性を保証できる、オブジェクトを組み合わせて
より大きなプログラムを作れるっていうのが
オブジェクト指向のメリット
684デフォルトの名無しさん
2018/10/09(火) 12:11:49.02ID:1H6kld1Z 当たり前すぎるってあれだよな
反証不可能ってやつ
反証したい勢力と対立煽りするくらいがちょうどいいんだよな
反証不可能ってやつ
反証したい勢力と対立煽りするくらいがちょうどいいんだよな
685デフォルトの名無しさん
2018/10/09(火) 12:12:29.16ID:MhhKJFZu データ隠蔽が有害っていうのは嘘だ
データは隠してなんぼ、オブジェクトを使う側に
データの存在を意識させないようにする事で堅牢な
プログラムを構築できる
データは隠してなんぼ、オブジェクトを使う側に
データの存在を意識させないようにする事で堅牢な
プログラムを構築できる
686デフォルトの名無しさん
2018/10/09(火) 12:44:03.73ID:3cHmJpwL 大規模開発はオブジェクト志向が、
とか喧伝する低偏差値信者もおとなしくなり、
一歩下がって、そんなに良いものだったっけ?と振り帰られる雰囲気がでてきたのは良いこと
いつまでも熱狂信者の思惑通りにはいかないよ
時がたてば、本当にコストペイするものだけが生き残る
とか喧伝する低偏差値信者もおとなしくなり、
一歩下がって、そんなに良いものだったっけ?と振り帰られる雰囲気がでてきたのは良いこと
いつまでも熱狂信者の思惑通りにはいかないよ
時がたてば、本当にコストペイするものだけが生き残る
687デフォルトの名無しさん
2018/10/09(火) 15:34:08.86ID:s6lFROtd >>685
テストもできないのが不味い
結局使用する側が状態を意識しなくてもいい造りなら問題はおきない
でもinitメソッド連発で呼ばれると死ぬだろ現実
initメソッド呼んだんだからどんな状態であれ初期状態に移行しろよ
ってのが呼ぶ側の主張
テストもできないのが不味い
結局使用する側が状態を意識しなくてもいい造りなら問題はおきない
でもinitメソッド連発で呼ばれると死ぬだろ現実
initメソッド呼んだんだからどんな状態であれ初期状態に移行しろよ
ってのが呼ぶ側の主張
688デフォルトの名無しさん
2018/10/09(火) 16:17:24.49ID:MhhKJFZu >>687
ヌ
ヌ
689デフォルトの名無しさん
2018/10/09(火) 16:51:04.98ID:DgfNcklC >>688
ル
ル
690デフォルトの名無しさん
2018/10/09(火) 17:11:39.56ID:UgeI4/Dm691デフォルトの名無しさん
2018/10/09(火) 17:18:38.78ID:n+YH3pNB 別スレッドでアクセス中でもか?
692デフォルトの名無しさん
2018/10/09(火) 17:23:43.77ID:UgeI4/Dm >>691
別スレッドでアクセスさせなければいいだけ
別スレッドでアクセスさせなければいいだけ
693デフォルトの名無しさん
2018/10/09(火) 17:54:07.48ID:MhhKJFZu スレドセーフじゃないのなら仕方ない
694デフォルトの名無しさん
2018/10/09(火) 18:17:11.30ID:o83bbsRF695デフォルトの名無しさん
2018/10/09(火) 18:33:33.36ID:UgeI4/Dm696デフォルトの名無しさん
2018/10/09(火) 18:37:20.67ID:o83bbsRF >>695
いやいや、この場合そういうケースがあることを説明できればいいよね
いやいや、この場合そういうケースがあることを説明できればいいよね
697デフォルトの名無しさん
2018/10/09(火) 18:50:57.71ID:UgeI4/Dm698デフォルトの名無しさん
2018/10/09(火) 18:51:36.15ID:UgeI4/Dm それに関数型だとハードに近い部分はさわれないし
699デフォルトの名無しさん
2018/10/09(火) 18:52:15.46ID:jSAcVkU7 メソッド呼ぶほうが呼び出し順にナーバスな設計というのが糞
内部を隠蔽できてねーやんというだけのこと
内部を隠蔽できてねーやんというだけのこと
700デフォルトの名無しさん
2018/10/09(火) 19:29:52.46ID:o83bbsRF >>697
問題はオブジェクトが状態を内包しちゃってることなんだけど?
問題はオブジェクトが状態を内包しちゃってることなんだけど?
701デフォルトの名無しさん
2018/10/09(火) 19:31:40.73ID:o83bbsRF んでそれを踏まえて
お前のクソクラスは息してんの?
って話
レアケースだから死ぬわってお前
言ってるように聞こえるけど
バカなん?
お前のクソクラスは息してんの?
って話
レアケースだから死ぬわってお前
言ってるように聞こえるけど
バカなん?
702デフォルトの名無しさん
2018/10/09(火) 20:06:57.87ID:9OTFAl28 >>689
うるせぇエビフライぶつけんぞ
,.、,、,..,、、.,、,、、..,_ /i
;’`;、、:、. .`゙:.:゙`’’’:,’.´ -‐i
‘、;: …: ,:. :.、..; .;;.‐’゛ ̄  ̄
ヽ(´・ω・)ノ
| /
UU
うるせぇエビフライぶつけんぞ
,.、,、,..,、、.,、,、、..,_ /i
;’`;、、:、. .`゙:.:゙`’’’:,’.´ -‐i
‘、;: …: ,:. :.、..; .;;.‐’゛ ̄  ̄
ヽ(´・ω・)ノ
| /
UU
703デフォルトの名無しさん
2018/10/09(火) 20:08:18.35ID:UgeI4/Dm704デフォルトの名無しさん
2018/10/09(火) 21:39:06.76ID:o83bbsRF705デフォルトの名無しさん
2018/10/09(火) 21:45:21.47ID:Z2FoPQmM localなデータを局所に隠蔽するべきなのはソフトウエア工学上、
当然のことでカプセル化の専売特許ではない。
ほぼすべての最近の言語はlocal scopeを持っている。
だがオブジェクト指向のカプセル化によるデータの内包とアクセサは
他の言語の持つモダンな階層的scopeに管理工学的にはるかに劣る。
ここ勘違いしないように。
当然のことでカプセル化の専売特許ではない。
ほぼすべての最近の言語はlocal scopeを持っている。
だがオブジェクト指向のカプセル化によるデータの内包とアクセサは
他の言語の持つモダンな階層的scopeに管理工学的にはるかに劣る。
ここ勘違いしないように。
706デフォルトの名無しさん
2018/10/09(火) 21:51:03.83ID:9yAlTK3b >>705
日本語w
日本語w
707デフォルトの名無しさん
2018/10/09(火) 21:54:07.22ID:Fg4seD6E テクニカルタームで煙に巻くのも便所の落書き
708デフォルトの名無しさん
2018/10/09(火) 21:57:54.52ID:n+YH3pNB まあ、forループの回数カウンタなんかローカルで充分だしな。
709デフォルトの名無しさん
2018/10/09(火) 21:58:49.50ID:Z2FoPQmM この程度でテクニカルターム…
710デフォルトの名無しさん
2018/10/09(火) 22:30:33.22ID:UgeI4/Dm711デフォルトの名無しさん
2018/10/09(火) 23:05:57.02ID:5o1aZXWL どれくらいのアクセス度がいいかはそのクラスのそれぞれによるところはある。
STLのvectorなんて見方によってはかなりオープンだけれどあれはあれで適切な開け方。
STLのvectorなんて見方によってはかなりオープンだけれどあれはあれで適切な開け方。
712デフォルトの名無しさん
2018/10/09(火) 23:18:00.29ID:uKgwXIAC 内部の状態が心配なら
ちゃんとクラスに内部の状態を(コンポジションなら当然再帰的に)ダンプする関数ぐらいつけてんだろうな
つけてないならお話にならない
外部で状態を管理して
外部で構造体を監視するのと
そう変わらない
ちゃんとクラスに内部の状態を(コンポジションなら当然再帰的に)ダンプする関数ぐらいつけてんだろうな
つけてないならお話にならない
外部で状態を管理して
外部で構造体を監視するのと
そう変わらない
713デフォルトの名無しさん
2018/10/10(水) 00:01:14.01ID:j7g+1zT7714デフォルトの名無しさん
2018/10/10(水) 00:06:10.55ID:+GhPUDy2 仕事関係なく趣味でソフト作ったやつの意見は尊重できる。仕事だけで横文字多様してる奴のはフィルター推奨だな。
715デフォルトの名無しさん
2018/10/10(水) 00:10:05.04ID:+GhPUDy2 流石にいないか。それは。
716デフォルトの名無しさん
2018/10/10(水) 00:54:19.42ID:T78UR1cm 本当にそれは状態として動的に管理すべき対象なのか
十分吟味してないだろ
十分吟味してないだろ
717デフォルトの名無しさん
2018/10/10(水) 01:07:23.22ID:YM9RoEIA718デフォルトの名無しさん
2018/10/10(水) 01:35:56.64ID:T78UR1cm >>717
日本語読めるようになってからレスした方が良いよ
日本語読めるようになってからレスした方が良いよ
719デフォルトの名無しさん
2018/10/10(水) 01:48:46.78ID:s7T/eKYL720デフォルトの名無しさん
2018/10/10(水) 02:19:17.93ID:vuJDL2IF Haskellでいう副作用なら標準入出力、ファイルio、時間、ランダムなどが副作用なるな
モナド並にリッチなシステムをオブジェクト指向で組んで副作用を過敏排除するなら楽しそうやんけ
モナド並にリッチなシステムをオブジェクト指向で組んで副作用を過敏排除するなら楽しそうやんけ
721デフォルトの名無しさん
2018/10/10(水) 06:36:14.84ID:az2ldVPt >>713
> その関数が同一の結果を返す条件を固定したい
引数Aにaを入れる、引数Bにbを入れる、引数Cにcを入れる
引数A、B、Cで関数funcを呼び出す
メソッドAでaを入れる、メソッドBでbを入れる、メソッドCでcを入れる
メソッドfuncを呼び出す
関数の引数に値を入れる代わりにオブジェクトに入れるだけの違いでしか無い
> その関数が同一の結果を返す条件を固定したい
引数Aにaを入れる、引数Bにbを入れる、引数Cにcを入れる
引数A、B、Cで関数funcを呼び出す
メソッドAでaを入れる、メソッドBでbを入れる、メソッドCでcを入れる
メソッドfuncを呼び出す
関数の引数に値を入れる代わりにオブジェクトに入れるだけの違いでしか無い
722デフォルトの名無しさん
2018/10/10(水) 07:54:35.27ID:75F81x8u723デフォルトの名無しさん
2018/10/10(水) 07:55:48.71ID:75F81x8u■ このスレッドは過去ログ倉庫に格納されています
ニュース
- H3ロケット8号機打ち上げ失敗、衛星軌道投入できず ★6 [少考さん★]
- 鈴木農相、おこめ券ではコメしか買えないとの誤解が広がっている 食料品などに幅広く使える [Hitzeschleier★]
- 【徳島】「体調が悪くなったら自己責任」と同意書求める 最長1年2か月期限切れ 生活保護受給者に賞味期限切れ食品を支給 徳島市 ★2 [ぐれ★]
- 【爆殺】モスクワ南部で自動車爆弾爆発 ロシア参謀本部陸軍作戦訓練局長ファニル‍・サルバロフ中将が死亡 [ごまカンパチ★]
- 【おこめ券】配布にかかる経費は高くないと鈴木農相 経費10%台、早さに利点 [ぐれ★]
- 粗品 M―1優勝のたくろうに言及「いい味出てたな」「全員面白かった。さすがM―1」「ただぁ、素人は黙っといて」 [muffin★]
- 【実況】博衣こよりのえちえちねっこよ24m 🧪🍑 🥟
- えっ、ち
- 何でも否定から入るおじさんいるでしょ? [916950698]
- ゆめちゃん尻いっちゃってるぅ~の🏡
- おさかなさんあつまれえ
- [画像]浜辺美波って可愛い?
