カプセル化(英語: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:ifygL6bT735デフォルトの名無しさん
2018/10/10(水) 12:35:08.25ID:Vh7YHzSV べつに透かさんでも直接見えるやろw変なやつw
736デフォルトの名無しさん
2018/10/10(水) 12:49:50.06ID:2nqQsSqL >>726
でもprivateだとわからないよね
でもprivateだとわからないよね
737デフォルトの名無しさん
2018/10/10(水) 13:52:34.56ID:VeUMq7t7 プログラミングセンスと学力ランキングは比例しないんだよなぁ
738デフォルトの名無しさん
2018/10/10(水) 13:57:58.08ID:VeUMq7t7 むしろ個人の性格の方がそのまんま実装に現れて来るからな。
739デフォルトの名無しさん
2018/10/10(水) 14:27:07.52ID:DTkCRDr0 学力ランキングを批判するだけなら良いぞ
だが、学力の対案は性格っていうのがダメだ
おかしな対案を出すより何も出さない方がマシ
だが、学力の対案は性格っていうのがダメだ
おかしな対案を出すより何も出さない方がマシ
740デフォルトの名無しさん
2018/10/10(水) 17:10:39.36ID:az2ldVPt741デフォルトの名無しさん
2018/10/10(水) 17:55:56.61ID:DTc0bT+8 >>733
大手企業のフレームワークは派遣さんがアホなことをしないようにあえて機能を制限してる
生産性が多少犠牲になっても非常識な派遣さんがやらかしてしまうリスクを減らすことが重要と考えたんだね
そういう意味ではオブジェクト指向の基本であるカプセル化は非常に役に立っていると言える
大手企業のフレームワークは派遣さんがアホなことをしないようにあえて機能を制限してる
生産性が多少犠牲になっても非常識な派遣さんがやらかしてしまうリスクを減らすことが重要と考えたんだね
そういう意味ではオブジェクト指向の基本であるカプセル化は非常に役に立っていると言える
742デフォルトの名無しさん
2018/10/10(水) 18:01:10.70ID:az2ldVPt743デフォルトの名無しさん
2018/10/10(水) 18:25:41.34ID:crjMMeGj 既存のフレームワークにケチつけたい人は
それ以上のものを作れる人なの?
それとも、作れないし作ったことも無いけどケチつけたい人なの?
煽りじゃなくて純粋な疑問
ぜひ、小学生のような瞳をしてそっと教えて欲しい
それ以上のものを作れる人なの?
それとも、作れないし作ったことも無いけどケチつけたい人なの?
煽りじゃなくて純粋な疑問
ぜひ、小学生のような瞳をしてそっと教えて欲しい
744デフォルトの名無しさん
2018/10/10(水) 19:14:20.95ID:DTkCRDr0 それを教えないのが正義っていうのが情報隠蔽、カプセル化
745デフォルトの名無しさん
2018/10/10(水) 19:28:47.64ID:AZXT33MT ママ役は薄幸そうな石田ゆり子かな
異論は認める
異論は認める
746デフォルトの名無しさん
2018/10/10(水) 19:29:51.69ID:AZXT33MT すまん、誤爆だ
747デフォルトの名無しさん
2018/10/10(水) 20:28:30.09ID:DTc0bT+8748デフォルトの名無しさん
2018/10/10(水) 20:31:47.32ID:1d6HAJSZ 最近は中抜きはまだまともな行為だと思えてきた。
バカがクソみたいな意見押し通してくるよりマシだ。
そういう意味でベイシックインカム賛成。
バカがクソみたいな意見押し通してくるよりマシだ。
そういう意味でベイシックインカム賛成。
749デフォルトの名無しさん
2018/10/10(水) 20:32:00.42ID:az2ldVPt >>747
結局、中抜きで困るからっていうのが本当の理由なのね(笑)
結局、中抜きで困るからっていうのが本当の理由なのね(笑)
750デフォルトの名無しさん
2018/10/10(水) 21:57:06.99ID:YM9RoEIA >>740
え?グローバル変数使わなければ戻り値か引数が全てだけど?
え?グローバル変数使わなければ戻り値か引数が全てだけど?
751デフォルトの名無しさん
2018/10/10(水) 22:09:31.63ID:crjMMeGj >>750
つ[クロージャ]
つ[クロージャ]
752デフォルトの名無しさん
2018/10/11(木) 06:25:53.98ID:o+Pj5MkJ 有識者、燃料投下ヨロ
くだらなくてつまんない
くだらなくてつまんない
753デフォルトの名無しさん
2018/10/11(木) 17:52:18.63ID:lqVwZR/7 んじゃクロージャ出たから
オブジェクト指向で末端の人、要は上の誰かが作った仕組みやクラス使って自分はそこからオブジェクト弄るだけの人は可能な限りクロージャ使いまくった方がと思うんだよな
よく委譲処理でこのふたつどちらか選ぶ事あると思うんだが末端なら即クロージャ
オブジェクト指向で末端の人、要は上の誰かが作った仕組みやクラス使って自分はそこからオブジェクト弄るだけの人は可能な限りクロージャ使いまくった方がと思うんだよな
よく委譲処理でこのふたつどちらか選ぶ事あると思うんだが末端なら即クロージャ
754デフォルトの名無しさん
2018/10/11(木) 19:53:44.01ID:hrM+9Jlq >>714
仕事は範囲が限られているからね
その仕事でやらなければならない範囲だけ出来れば
後は何が出来ようが出来まいが関係なくなるからね
一言で言えば視野が狭い
横文字を多用する人は狭い世界で通じてそれでokになっちゃってる
多種ではないし世界が兎に角狭い
実際ゲームなんかでは敵クラスを作って敵が増えるたびにオブジェクトを生成する
ってやると感覚的に凄く簡単
仕事は範囲が限られているからね
その仕事でやらなければならない範囲だけ出来れば
後は何が出来ようが出来まいが関係なくなるからね
一言で言えば視野が狭い
横文字を多用する人は狭い世界で通じてそれでokになっちゃってる
多種ではないし世界が兎に角狭い
実際ゲームなんかでは敵クラスを作って敵が増えるたびにオブジェクトを生成する
ってやると感覚的に凄く簡単
755デフォルトの名無しさん
2018/10/11(木) 20:31:48.13ID:m9vsKwrk756デフォルトの名無しさん
2018/10/11(木) 20:34:12.11ID:U1kKB/4M 逆でしょ?説明されれば終わりなのがいやだから
答えが出てるのに、同じことをくり返し聞く
答えが出てるのに、同じことをくり返し聞く
757デフォルトの名無しさん
2018/10/11(木) 20:38:52.62ID:m9vsKwrk758デフォルトの名無しさん
2018/10/11(木) 21:05:36.68ID:o+Pj5MkJ 犬がワン、猫がニャン
→なにそれ美味しいの?
大規模じゃないとメリット説明しにくいよ
→説明できないって、大規模なプログラムを経験して体で覚えろと?
要するに、簡単には説明できないよ
→だったら学習コストとの天秤では?
俺の中ではこんな感じ
→なにそれ美味しいの?
大規模じゃないとメリット説明しにくいよ
→説明できないって、大規模なプログラムを経験して体で覚えろと?
要するに、簡単には説明できないよ
→だったら学習コストとの天秤では?
俺の中ではこんな感じ
759デフォルトの名無しさん
2018/10/11(木) 21:06:47.80ID:U1kKB/4M 品質向上だし工数削減にもなる
馬鹿はそこでなぜか品質向上と工数削減のために
追加作業が増えるとダメだと話を聞かない
馬鹿はそこでなぜか品質向上と工数削減のために
追加作業が増えるとダメだと話を聞かない
760デフォルトの名無しさん
2018/10/11(木) 21:07:43.81ID:o+Pj5MkJ ちな俺、初心者プログラマだけど宮廷文系
761デフォルトの名無しさん
2018/10/11(木) 21:48:27.62ID:29n02hV2 いわゆる土方候補生か
762デフォルトの名無しさん
2018/10/11(木) 22:35:19.32ID:FTrPBrPb >>753
関数ポインタと汎用のvoidポインタ渡すインターフェイスより明らかに良いとは思うけど、
ガベコレない言語では上手くいかんだろ。
その場合は継承させるしかないっていうc++の選択は間違いじゃない。
関数ポインタと汎用のvoidポインタ渡すインターフェイスより明らかに良いとは思うけど、
ガベコレない言語では上手くいかんだろ。
その場合は継承させるしかないっていうc++の選択は間違いじゃない。
763デフォルトの名無しさん
2018/10/12(金) 00:40:23.27ID:U1NbXGxJ >>762
そういう欠点解消するため、
結構前に拡張されたのに何で勉強しないのかねOOP厨はホントにもう
https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html
そういう欠点解消するため、
結構前に拡張されたのに何で勉強しないのかねOOP厨はホントにもう
https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html
764デフォルトの名無しさん
2018/10/12(金) 00:47:17.48ID:U1NbXGxJ オレぐらいのレベルでないと
オブジェクト指向は使いこなせない
オブジェクト指向は使いこなせない
765デフォルトの名無しさん
2018/10/12(金) 00:47:48.97ID:U1NbXGxJ だいたいわかる
低学歴知恵遅れが
ムダにオブジェクト指向あげしてる
低学歴知恵遅れが
ムダにオブジェクト指向あげしてる
766デフォルトの名無しさん
2018/10/12(金) 00:48:51.77ID:mmIXjKhu メリットの挙げられない技術を採用するな
767デフォルトの名無しさん
2018/10/12(金) 07:03:34.63ID:ogDn0rIL768デフォルトの名無しさん
2018/10/12(金) 08:23:50.28ID:8+F5vpV5 型の問題と寿命の問題を分離しない
OSとGUIを分離しない
フルスタックな環境を作る密結合指向って感じ
OSとGUIを分離しない
フルスタックな環境を作る密結合指向って感じ
769デフォルトの名無しさん
2018/10/12(金) 10:20:48.35ID:4mK9L0RW >>768
それただの設計の問題じゃね?
それただの設計の問題じゃね?
770デフォルトの名無しさん
2018/10/12(金) 11:04:22.00ID:8+F5vpV5771デフォルトの名無しさん
2018/10/12(金) 11:12:44.85ID:4mK9L0RW772デフォルトの名無しさん
2018/10/12(金) 17:19:28.65ID:5jm0P0/q オブジェクト指向信者もDI信者も同じ臭いがするね
【Java】DIコンテナって本当に便利か?
http://mevius.5ch.net/test/read.cgi/tech/1219242206/
次は何を担ぐのやら
外国で流行って育っていくのだから、それなりのメリットはあるんだろうけど、なぜか仕事では恩恵にあずかったことはない
【Java】DIコンテナって本当に便利か?
http://mevius.5ch.net/test/read.cgi/tech/1219242206/
次は何を担ぐのやら
外国で流行って育っていくのだから、それなりのメリットはあるんだろうけど、なぜか仕事では恩恵にあずかったことはない
773デフォルトの名無しさん
2018/10/12(金) 20:33:03.38ID:4mK9L0RW 設計のセンスの無い奴はどんな流行が来たって糞な設計しか出来ないんだよなぁ
センスがある奴はなんとなくどんな流行のスタイルでもこなして来るからなぁ
センスがある奴はなんとなくどんな流行のスタイルでもこなして来るからなぁ
774デフォルトの名無しさん
2018/10/12(金) 20:41:34.47ID:CecLyO81 どーでもいーけどコーディングの事設計てゆーのいーかげん恥ずかしくね?w
775デフォルトの名無しさん
2018/10/12(金) 20:45:43.93ID:4mK9L0RW は?
設計はコーディングじゃねーよw
四角い箱描いて矢印や電線で繋げて遊ぶ奴だぞ。
設計はコーディングじゃねーよw
四角い箱描いて矢印や電線で繋げて遊ぶ奴だぞ。
776デフォルトの名無しさん
2018/10/12(金) 20:45:57.27ID:SyXP90mj ある一定以下に対して理解できるような教範が出てこない
だから一部の人しか使えないようになってる
結局は出来る人の間で持て囃されるだけになってしまう
この何か新しいやり方を創造するのと一般に使えるようにする
というのは本来両輪なんだけど
普通以下の人達が使えるようになる教範を作る
というのはかなり難しい上に
それをやる人には余りメリットがないから
なかなか出てこない
だから
オブジェクト指向プログラミングにしても
関数型プログラミングにしてもその他の技術にしても
広く(普通程度以下)使われるのは難しいし
このスレのタイトルみたいな感想を持つしかなくなる
後は自分が出来るけど他の人が出来ないままのほうが出来る人には得だから妨害する
みたいなのが居るくらいだろうかねぇ
だから一部の人しか使えないようになってる
結局は出来る人の間で持て囃されるだけになってしまう
この何か新しいやり方を創造するのと一般に使えるようにする
というのは本来両輪なんだけど
普通以下の人達が使えるようになる教範を作る
というのはかなり難しい上に
それをやる人には余りメリットがないから
なかなか出てこない
だから
オブジェクト指向プログラミングにしても
関数型プログラミングにしてもその他の技術にしても
広く(普通程度以下)使われるのは難しいし
このスレのタイトルみたいな感想を持つしかなくなる
後は自分が出来るけど他の人が出来ないままのほうが出来る人には得だから妨害する
みたいなのが居るくらいだろうかねぇ
777デフォルトの名無しさん
2018/10/12(金) 20:48:39.65ID:4mK9L0RW あー電線繋げては遊ばないわ、危ないしw
点線の間違いだわ。
点線の間違いだわ。
778デフォルトの名無しさん
2018/10/12(金) 21:12:49.59ID:CecLyO81 ガチでわかっとらん奴やったw
779デフォルトの名無しさん
2018/10/12(金) 21:17:29.38ID:mCoAwEvP780デフォルトの名無しさん
2018/10/12(金) 21:21:05.43ID:xVyRtSc0 少なくともこのスレにいるような低学歴知恵遅れのドカタには
オブジェクト指向言語を適切に使いこなせない
オブジェクト指向言語を適切に使いこなせない
781デフォルトの名無しさん
2018/10/12(金) 21:27:17.84ID:d1sPni1g 少なくともこのスレにいるような低学歴知恵遅れのドカタには
オブジェクト指向言語を適切に使いこなせない
オブジェクト指向言語を適切に使いこなせない
782デフォルトの名無しさん
2018/10/12(金) 22:41:19.80ID:F7y/wInK >>772
テストしたことないのかい?
テストしたことないのかい?
783デフォルトの名無しさん
2018/10/12(金) 23:12:30.21ID:xVyRtSc0 日銀短観のDIは便利
池沼あげのDIはtraitsなみにウンコくさい
池沼あげのDIはtraitsなみにウンコくさい
784デフォルトの名無しさん
2018/10/13(土) 10:26:58.14ID:YNebL+WU 今時DIも使いこなせない人材とか組織にとってのリスクでしか無いよ
あっちこっち結合しまくったクソコードを社内リポジトリにばらまくとか悪夢そのものじゃん
あっちこっち結合しまくったクソコードを社内リポジトリにばらまくとか悪夢そのものじゃん
785デフォルトの名無しさん
2018/10/13(土) 10:58:13.65ID:H4Y+M12v DI使っても結合しまくったくそコードはくそのままだ
業務分析の時点でコケて役割分担がぐちゃぐちゃなんだからDI導入したって解決しない
業務分析の時点でコケて役割分担がぐちゃぐちゃなんだからDI導入したって解決しない
786デフォルトの名無しさん
2018/10/13(土) 21:25:17.45ID:YNebL+WU >>785
DIを使わないから業務分析の時点でコケて役割分担がぐちゃぐちゃになるのでは?
設計者にDIを学習させてDIを使う前提で設計させればそのあたりの分担がキレイになるように意識して設計するようになるよ
DIを使わないから業務分析の時点でコケて役割分担がぐちゃぐちゃになるのでは?
設計者にDIを学習させてDIを使う前提で設計させればそのあたりの分担がキレイになるように意識して設計するようになるよ
787デフォルトの名無しさん
2018/10/13(土) 22:13:29.66ID:An0DfPZD >>786
それで成功した例なんてあんの?
それで成功した例なんてあんの?
788デフォルトの名無しさん
2018/10/13(土) 22:15:51.44ID:L3Dj2/gz cのたくさんの構造体にいっぱい変数や関数ポインタもたせて
それ入力にして処理するのと同じ
それ入力にして処理するのと同じ
789デフォルトの名無しさん
2018/10/13(土) 22:29:25.59ID:HA3RUpZg DIはたしかにきれいな設計になるが、めんどくて工数がかかる。
作業者にはYAGNIのほうが優先度高いから勝手に採用できない
だからそういうのはトップエンジニアが最初に管理方針としてきめとくもんだ
末端のプログラマーに責任押し付けるのは酷
作業者にはYAGNIのほうが優先度高いから勝手に採用できない
だからそういうのはトップエンジニアが最初に管理方針としてきめとくもんだ
末端のプログラマーに責任押し付けるのは酷
790デフォルトの名無しさん
2018/10/13(土) 22:38:19.49ID:HA3RUpZg 今のDIはめんどすぎる
既存コードをいじらないで中身をすげかえる
もっと楽な方法はないものか
既存コードをいじらないで中身をすげかえる
もっと楽な方法はないものか
791デフォルトの名無しさん
2018/10/13(土) 22:42:51.86ID:An0DfPZD DIは言語自体に組み込まれるべきもの
高級言語はどんどん高級になるべきだが
ガベコレ搭載あたりで停滞してしまったからね
本来はDIやデザインパターンやユニットテストや
フレームワークまで高級言語の仕様に含めなきゃいけない
高級言語はどんどん高級になるべきだが
ガベコレ搭載あたりで停滞してしまったからね
本来はDIやデザインパターンやユニットテストや
フレームワークまで高級言語の仕様に含めなきゃいけない
792デフォルトの名無しさん
2018/10/13(土) 22:44:08.09ID:L3Dj2/gz インターフェースを決め打ちにしたテンプレート作る間抜けな作りと
大してかわらないからな
大してかわらないからな
793デフォルトの名無しさん
2018/10/13(土) 22:48:54.83ID:c+yfSqJ1 使用者との合意の無いインターフェースほどクソなモンは無い
独りよがりで考えたものは全部クソなので誰にも見られないうちに捨てて欲しい
独りよがりで考えたものは全部クソなので誰にも見られないうちに捨てて欲しい
794デフォルトの名無しさん
2018/10/13(土) 22:54:18.52ID:An0DfPZD 逆に言えば使用者との合意のあるインターフェースは問題ない
ということになってしまう。
ということになってしまう。
795デフォルトの名無しさん
2018/10/13(土) 22:59:41.42ID:c+yfSqJ1 >>794
もちろんそうだろ
もちろんそうだろ
796デフォルトの名無しさん
2018/10/13(土) 23:21:29.03ID:An0DfPZD797デフォルトの名無しさん
2018/10/13(土) 23:38:37.37ID:L3Dj2/gz クソが余計なことをして
余計にクソなコードを生産するサイクルが途絶えることはない
余計にクソなコードを生産するサイクルが途絶えることはない
798デフォルトの名無しさん
2018/10/13(土) 23:45:30.90ID:An0DfPZD SEが余計なことをして
クソコードを量産することになるのは
よくある話だな
クソコードを量産することになるのは
よくある話だな
799デフォルトの名無しさん
2018/10/14(日) 11:01:28.22ID:RzJcTIeH DIを使わないと結合部分に余計なコードが入り乱れて大変なんだよな
800デフォルトの名無しさん
2018/10/14(日) 12:27:39.55ID:mBxOrkWE え?どんなコードが入るの?
ありえないのに
ありえないのに
801デフォルトの名無しさん
2018/10/15(月) 20:24:46.22ID:vo4hBZ/w なあ、おまえのクラス内に公開変数作って、そいつをインクルードして関数呼び出し時にポインター参照で指定するなんてインターフェス、誰が言い出したの?
しかも各関数は自前のその公開変数を直接参照して動いてるし。
こんな中途半端なやり方するなら、最初から隠蔽しちゃってくださいよ。
しかも各関数は自前のその公開変数を直接参照して動いてるし。
こんな中途半端なやり方するなら、最初から隠蔽しちゃってくださいよ。
802デフォルトの名無しさん
2018/10/15(月) 20:30:03.66ID:1WHouwEf ごめん自分のデータクラスを全クラスの共通IFにする自信がなかった
803デフォルトの名無しさん
2018/10/15(月) 21:16:54.08ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
804デフォルトの名無しさん
2018/10/16(火) 03:09:47.94ID:ou8fzFot この記事拍手の数すげぇな。まだ伸び続けてる
Goodbye, Object Oriented Programming
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
Goodbye, Object Oriented Programming
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
805デフォルトの名無しさん
2018/10/16(火) 07:54:43.79ID:Z3LiiLXa 誰か和訳してよ
806デフォルトの名無しさん
2018/10/16(火) 07:57:35.98ID:Z3LiiLXa オブジェクト指向を厚く語るヤツは
お勉強いまいちのヤツが多くて信用できないけど、
さらっとオブジェクト指向で書いたようなライブラリを公開してるヤツが
高学歴というわけでもない不思議な業界だよね
お勉強いまいちのヤツが多くて信用できないけど、
さらっとオブジェクト指向で書いたようなライブラリを公開してるヤツが
高学歴というわけでもない不思議な業界だよね
807デフォルトの名無しさん
2018/10/16(火) 08:20:25.22ID:Jp8CUHhN Banana Monkey Jungle Solution
まで読んだ
まで読んだ
808デフォルトの名無しさん
2018/10/16(火) 09:47:48.81ID:hiAtkD1Q Elm最高まで読んだ
809デフォルトの名無しさん
2018/10/16(火) 10:44:44.96ID:KsONw+2K 結局関数プログラミングが良い
って書いてある様に見えるけど
オブジェクト指向に対して何がどう良いのかは書いてないように見える
オブジェクト指向の問題点の指摘自体は有ってるように思えるけど
そもそもそういう使い方をするものじゃない
って気がするなぁ
現実世界とどうたらこうたら
こういう書き方をする人は自分からみてほぼ間違えている様に見える
騙された
って書いて有るけど
オブジェクト指向ってそんなに劇的に何かが壮大に変わるわけじゃないんだけど
その辺を誤解しているかオブジェクト指向を宣伝している奴がそもそも捕らえ違いをしている
そう自分には感じる事が多いなぁ
って書いてある様に見えるけど
オブジェクト指向に対して何がどう良いのかは書いてないように見える
オブジェクト指向の問題点の指摘自体は有ってるように思えるけど
そもそもそういう使い方をするものじゃない
って気がするなぁ
現実世界とどうたらこうたら
こういう書き方をする人は自分からみてほぼ間違えている様に見える
騙された
って書いて有るけど
オブジェクト指向ってそんなに劇的に何かが壮大に変わるわけじゃないんだけど
その辺を誤解しているかオブジェクト指向を宣伝している奴がそもそも捕らえ違いをしている
そう自分には感じる事が多いなぁ
810デフォルトの名無しさん
2018/10/16(火) 10:49:18.08ID:hiAtkD1Q 現実世界とマッピングさせようとしたらそりゃ上手くいかんし
バナナモンキージャングルになるわな
あほくさ
バナナモンキージャングルになるわな
あほくさ
811デフォルトの名無しさん
2018/10/16(火) 11:00:52.85ID:sVO7hlJ7 アクセス修飾子について分かりやすい説明しているサイトない?
privateからゲッター → セッターの理由がわかんないんだよな。
publicとの違いがなんなのか
privateからゲッター → セッターの理由がわかんないんだよな。
publicとの違いがなんなのか
812デフォルトの名無しさん
2018/10/16(火) 11:06:30.91ID:HqnwAz6t813デフォルトの名無しさん
2018/10/16(火) 11:07:25.98ID:HqnwAz6t ゲターもせターもパブリクーにするなら
アクセサーとフィールドの違いはない
アクセサーとフィールドの違いはない
814デフォルトの名無しさん
2018/10/16(火) 11:39:32.23ID:8J+M5yKD あとから処理をフックできるぞ!
815デフォルトの名無しさん
2018/10/16(火) 11:40:12.83ID:Ul6KAhVk setget時にログ出したいときに一括でできるぐらいか?
816デフォルトの名無しさん
2018/10/16(火) 13:06:07.08ID:GbK/byr7 >>811
わかんないなら使わなくていいよ
用もないのにゲッターセッターを用意しろってのは間違って広まった悪いスタイルだ
多態したいとか、書かれてるようにログを取りたいとか、アクセサがあるとインスペクタで値が見えて便利とか
なんか用事がある時だけでいい
わかんないなら使わなくていいよ
用もないのにゲッターセッターを用意しろってのは間違って広まった悪いスタイルだ
多態したいとか、書かれてるようにログを取りたいとか、アクセサがあるとインスペクタで値が見えて便利とか
なんか用事がある時だけでいい
817デフォルトの名無しさん
2018/10/16(火) 13:22:26.52ID:sVO7hlJ7818デフォルトの名無しさん
2018/10/16(火) 14:20:20.47ID:cFNbEHw0 言語仕様で何とでもなるものにいちいちゲッターセッター付けるの無駄じゃね?
819デフォルトの名無しさん
2018/10/16(火) 14:59:03.86ID:8J+M5yKD それがプロパティなわけだが
ゲッターセッターと機能が重複しててほぼシンタックスシュガーで邪魔
ゲッターセッターと機能が重複しててほぼシンタックスシュガーで邪魔
820デフォルトの名無しさん
2018/10/16(火) 15:33:44.68ID:pkWZobMJ 今時まだゲッターセッターなんて無意味なもん書いてる奴いんのか。
821デフォルトの名無しさん
2018/10/16(火) 16:52:45.97ID:nQomBRvE セットなんちゃらって書く場面を考えると
なにかの状態遷移を伴うケースが大抵である
だとしたら、それを具体的に示す関数を書くべきなのでは
初期化が不便だというのもなんか違う
設定するメンバの組み合わせは決めておくべきではないか
それに併せて初期化関数を用意するだけ
なにかの状態遷移を伴うケースが大抵である
だとしたら、それを具体的に示す関数を書くべきなのでは
初期化が不便だというのもなんか違う
設定するメンバの組み合わせは決めておくべきではないか
それに併せて初期化関数を用意するだけ
822デフォルトの名無しさん
2018/10/16(火) 17:08:05.58ID:JHQMnpCL823デフォルトの名無しさん
2018/10/16(火) 17:10:16.39ID:JHQMnpCL824デフォルトの名無しさん
2018/10/16(火) 18:13:44.49ID:AosmVSTK いつもクラスの例にでてくるPersonクラスはNameとAgeを持ってるけどあれ適当だよな
Ageは不変じゃないからいつの時点のAgeなのかもわからん
本来は誕生日を持っておいてAgeが必要なときにいつの時点の年齢が欲しいかを引数で与えて計算すべきなんだよな
Ageは不変じゃないからいつの時点のAgeなのかもわからん
本来は誕生日を持っておいてAgeが必要なときにいつの時点の年齢が欲しいかを引数で与えて計算すべきなんだよな
825デフォルトの名無しさん
2018/10/16(火) 18:57:36.52ID:PnSVhV/K 言われたらそうだなw盲点だった
826デフォルトの名無しさん
2018/10/16(火) 19:03:13.54ID:JHQMnpCL そこででてくるのがプロパティだよ
ageは属性かメソッドかといったら属性だろ?
一見属性にアクセスしているようで、内部では
いろんな処理を行って値を返す。
それがプロパティ
ageは属性かメソッドかといったら属性だろ?
一見属性にアクセスしているようで、内部では
いろんな処理を行って値を返す。
それがプロパティ
827デフォルトの名無しさん
2018/10/16(火) 19:04:22.70ID:JHQMnpCL828デフォルトの名無しさん
2018/10/16(火) 19:12:47.50ID:AosmVSTK829デフォルトの名無しさん
2018/10/16(火) 19:22:26.29ID:AzP++FB2 状態状態ってよく悪者にされるけどOOPの肝はのへんににあると思う
#include <iostream>
struct logger {
std::ostream *out;
logger() : out(0) {}
void p(const char *s) {
if (out) *out << s << std::endl;
}
};
void f(logger &l) {
l.p("foo");
l.p("bar");
}
int main() {
logger g;
f(g);
g.out = &std::cout;
f(g);
g.out = &std::cerr;
f(g);
return 0;
}
ログの有効無効なんかをこうやって切り替えるのって
そんなに悪いこと?
#include <iostream>
struct logger {
std::ostream *out;
logger() : out(0) {}
void p(const char *s) {
if (out) *out << s << std::endl;
}
};
void f(logger &l) {
l.p("foo");
l.p("bar");
}
int main() {
logger g;
f(g);
g.out = &std::cout;
f(g);
g.out = &std::cerr;
f(g);
return 0;
}
ログの有効無効なんかをこうやって切り替えるのって
そんなに悪いこと?
830デフォルトの名無しさん
2018/10/16(火) 19:24:41.24ID:GbK/byr7 Delphiなら配列の構文で引数付きプロパティを扱えたりするが
そんなことするぐらいならpersonからはbirthdayだけ見せて
今何歳かなんて呼び出し側で勝手に計算しやがれって思うわw
そんなことするぐらいならpersonからはbirthdayだけ見せて
今何歳かなんて呼び出し側で勝手に計算しやがれって思うわw
831デフォルトの名無しさん
2018/10/16(火) 19:26:14.38ID:OiVT6sa2 読み取りのプロパティは冪等であるべきじゃないの?
832デフォルトの名無しさん
2018/10/16(火) 19:27:08.86ID:JHQMnpCL Nameも不変じゃないし身長体重性別だって不変じゃない
商品の値段も不変じゃない
不変のものなってまず無いだろう。
つまりは、オブジェクトの状態の過去のスナップショットを
オブジェクト自身に持たせるのが正しい設計かという話
商品の値段も不変じゃない
不変のものなってまず無いだろう。
つまりは、オブジェクトの状態の過去のスナップショットを
オブジェクト自身に持たせるのが正しい設計かという話
833デフォルトの名無しさん
2018/10/16(火) 19:30:01.71ID:GbK/byr7834デフォルトの名無しさん
2018/10/16(火) 19:33:44.42ID:JHQMnpCL835デフォルトの名無しさん
2018/10/16(火) 19:34:54.98ID:AosmVSTK 話がずれてる
本質が理解されてないらしい
本質が理解されてないらしい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- H3ロケット8号機打ち上げ失敗、衛星軌道投入できず ★5 [少考さん★]
- H3ロケット8号機打ち上げ失敗、衛星軌道投入できず ★4 [少考さん★]
- 【徳島】「体調が悪くなったら自己責任」と同意書求める 最長1年2か月期限切れ 生活保護受給者に賞味期限切れ食品を支給 徳島市 ★2 [ぐれ★]
- アイリス、新米を最大12.5%値下げ 通販サイトなどで23日から [どどん★]
- 俳優・広末涼子さんを略式起訴 “時速185キロで車線変更”過失運転傷害の罪 [少考さん★]
- 「ONE PIECE」尾田栄一郎、原作は「ここからが大変」「僕は歳をとってしまったので最高速度で来年もズッシリドッシリ航海します」 [muffin★]
- 【おこめ券悲報】鈴木農相「おこめ券、コメ以外にも使えるのになぁ~国民の誤解が酷い」 [268244553]
- 中国父さん、1日でロケット3機の打ち上げに成功🌸 ジャップとの差を見せつけてしまう… [271912485]
- 自民党議員や製薬会社が中国の古典に出てくる神様、炎帝神農に誓う「絶対に薬価を下げない」 [359572271]
- キッズドア冬休み食料支援、突然目標金額達成。高市早苗「支援して支援して支援して支援して支援して参ります」 [196352351]
- 【悲報】高市早苗支持73%、物価高、悪い方向に進んでる73% [519511584]
- 「高市総理の行動力と覚悟に感服」「外交や経済政策への期待が高まる」高市早苗総理大臣のリーダーシップと政策運営に注目集まる! [673057929]
