前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465636703/
探検
オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1uy ◆e6.oHu1j.o
2016/07/09(土) 00:35:13.95ID:Mn3UGZ+O192デフォルトの名無しさん
2016/12/30(金) 15:44:27.69ID:zvHkIzW0193デフォルトの名無しさん
2016/12/30(金) 15:52:05.62ID:7Zd5OH2Q194デフォルトの名無しさん
2016/12/30(金) 21:13:04.65ID:0uD1Maua なぜオブジェクト指向の設計の話になると喧嘩になってしまうのか?
やはり関数型にすべきでないのか?
やはり関数型にすべきでないのか?
195デフォルトの名無しさん
2016/12/30(金) 22:35:50.28ID:VqDrYuY4 >>194
モナドを許すか許さないか論、原始再帰関数の定義の喧嘩になるのがオチ。
手続きとしてCPUが処理している所に別のパラダイム持ち込むとこうなるし、
関数としてGPUが処理している所に手続きを持ち込むと同じように異論は出てくる。
モナドを許すか許さないか論、原始再帰関数の定義の喧嘩になるのがオチ。
手続きとしてCPUが処理している所に別のパラダイム持ち込むとこうなるし、
関数としてGPUが処理している所に手続きを持ち込むと同じように異論は出てくる。
196デフォルトの名無しさん
2016/12/30(金) 22:36:08.50ID:KB0M7zpX 喧嘩がなくなるなら関数型喜んでつかうわ
197デフォルトの名無しさん
2016/12/30(金) 22:54:38.14ID:G92pvYFd 工数の少ない方を採用するなぁ
何が何でもオブジェクト指向!ってのは手段が目的になっちゃってるように感じる
何が何でもオブジェクト指向!ってのは手段が目的になっちゃってるように感じる
198デフォルトの名無しさん
2016/12/30(金) 23:59:17.50ID:0uD1Maua 感情をイミュータブルにしましょう
199デフォルトの名無しさん
2016/12/31(土) 07:44:43.00ID:XK+xRs9l 工数最小マンって無責任だと思うよ
保守は他人がやるからラピッドでええやんってクズばかりだから業界全体が停滞してるんだよ
多少工数が増えてもエレガントなOOPで作るべきだ
というかそもそも工数ベースで見てもOOPの方が優位だけどな
保守は他人がやるからラピッドでええやんってクズばかりだから業界全体が停滞してるんだよ
多少工数が増えてもエレガントなOOPで作るべきだ
というかそもそも工数ベースで見てもOOPの方が優位だけどな
200デフォルトの名無しさん
2016/12/31(土) 08:26:58.81ID:qTR6JDNw 工数最小≠OOP
って、どっから沸いてきた式だよ
コンパイル通らないぞハゲ
って、どっから沸いてきた式だよ
コンパイル通らないぞハゲ
201デフォルトの名無しさん
2016/12/31(土) 10:34:26.84ID:H2pBZ8ZG202デフォルトの名無しさん
2016/12/31(土) 11:05:14.41ID:XK+xRs9l203デフォルトの名無しさん
2016/12/31(土) 11:40:12.70ID:I0WFUQzY >>202
そもそもOOPだと何で保守性上がるの?
そもそもOOPだと何で保守性上がるの?
204デフォルトの名無しさん
2016/12/31(土) 12:13:13.06ID:3aGn9kAy 粗結合の徹底→モジュール化→単体テストしやすさ、古くなった部分の可換性
205デフォルトの名無しさん
2016/12/31(土) 12:24:49.69ID:XK+xRs9l206デフォルトの名無しさん
2016/12/31(土) 13:03:52.81ID:I0WFUQzY207デフォルトの名無しさん
2016/12/31(土) 13:15:07.39ID:XK+xRs9l208デフォルトの名無しさん
2016/12/31(土) 13:18:39.21ID:I0WFUQzY なんかごめんね…
209デフォルトの名無しさん
2016/12/31(土) 14:00:22.29ID:XK+xRs9l >>208
反省しろよ
反省しろよ
210デフォルトの名無しさん
2016/12/31(土) 15:09:26.22ID:2Xzfkrwi >>209
おまえもな
おまえもな
211デフォルトの名無しさん
2016/12/31(土) 16:41:13.08ID:n5yZbU99212デフォルトの名無しさん
2016/12/31(土) 17:32:21.84ID:2Xzfkrwi >>211
おまえもな
おまえもな
213デフォルトの名無しさん
2016/12/31(土) 17:32:59.43ID:qTR6JDNw >>211
あんまり調子こいてると手続き型にするぞ?
あんまり調子こいてると手続き型にするぞ?
214デフォルトの名無しさん
2016/12/31(土) 17:37:54.48ID:I0WFUQzY もういいから
215デフォルトの名無しさん
2016/12/31(土) 17:40:02.54ID:YOFqYiBF 工数気にするのって完全受注型で自分とこで商品開発できないようなところだろうなと思うわ
216デフォルトの名無しさん
2017/01/01(日) 00:00:05.99ID:7qccLNYe 採算度外視で開発とかないわ
217デフォルトの名無しさん
2017/01/06(金) 17:03:12.17ID:rigfFBS6 オブジェクト指向の良書教えて
218デフォルトの名無しさん
2017/01/06(金) 17:25:52.39ID:A0+jLhsU219デフォルトの名無しさん
2017/01/06(金) 20:45:05.38ID:8EHemPmg ループかよ
220デフォルトの名無しさん
2017/01/07(土) 11:22:42.01ID:IG42UiTG >>204
手続き型でもできる。
というよりオブジェクトみたいに状態に注目するより
メッセージやメソッド、関数に注目するほうが自然な場合もある。
まあオブジェクト脳だとそういった処理をまとめたクラスを作るんだろうけど。
手続き型でもできる。
というよりオブジェクトみたいに状態に注目するより
メッセージやメソッド、関数に注目するほうが自然な場合もある。
まあオブジェクト脳だとそういった処理をまとめたクラスを作るんだろうけど。
221デフォルトの名無しさん
2017/01/07(土) 12:04:44.28ID:kXk28A5p >>220
具体例は?
具体例は?
222デフォルトの名無しさん
2017/01/07(土) 13:39:47.70ID:u/YaKAHu サ ー ビ ス ク ラ ス
223デフォルトの名無しさん
2017/01/07(土) 21:45:21.54ID:6fDgBl5y >>220
> 手続き型でもできる
それはとても興味深い指摘です。後学のため、
これぞ手続き型の(つまり「そこまでやったらもはやOOP」とは言わせない、そういった小細工のない)
コードで実演してみてもらうことはできますか?
> 手続き型でもできる
それはとても興味深い指摘です。後学のため、
これぞ手続き型の(つまり「そこまでやったらもはやOOP」とは言わせない、そういった小細工のない)
コードで実演してみてもらうことはできますか?
224デフォルトの名無しさん
2017/01/07(土) 23:48:37.74ID:8zzGw/ml そもそもオブジェクト指向にメリットなんかないのにやり方がわからないとかさっさと廃業しろ
225デフォルトの名無しさん
2017/01/08(日) 00:04:42.83ID:MJfiP+Ss デストラクタは OOP でないと難しいね
え?ポインタの存在自体が邪道ですか?そうかもしれないですかね‥
え?ポインタの存在自体が邪道ですか?そうかもしれないですかね‥
226デフォルトの名無しさん
2017/01/08(日) 01:57:35.09ID:91a1aYUK デストラクタってOOP以前からあるしOOPと直結する関係性もない
それになぜいきなりポインタ?もはや何が言いたいのか判らない
それになぜいきなりポインタ?もはや何が言いたいのか判らない
227デフォルトの名無しさん
2017/01/08(日) 08:49:06.62ID:FbXxDY90 そう難しく考える必要はなく物事をシンプルに考えていくと自然とOOPにたどり着くんだけどね
OOPに拒否感を持つ人はその当たり前の感覚を持っていないアスペなんじゃないかな
子供の頃いじめられたりしなかったか?
機械的な命令並べてgotoするより意味的な命令並べてifとかloopとか使ったほうが簡単だな
同じ処理をなんども書くより関数にしたほうが簡単だな
引数が多くて煩わしいから一緒に使う変数をまとめて構造体にしたほうが簡単だな
この構造体は特定の関数以外から変更されたらそれらの実行の前提条件が崩れるからそれら以外からメンバに触れないようにアクセス制御したほうが間違えなくていいな
それらの関数を構造体と同じ箇所で定義すれば管理しやすいな
メンバ変数みたいにドット演算子でそれらの関数にアクセスできれば楽だな
………
こういう感覚は別にOOPを知らなくてもコーディングを簡単に安全にしたいという欲求があれば自然とたどり着くものなんだけど
感覚がおかしいのかガチで気が付かなかったのか
たどり着けないかわいそうな子も世の中には少なからずいるんだね
OOPに拒否感を持つ人はその当たり前の感覚を持っていないアスペなんじゃないかな
子供の頃いじめられたりしなかったか?
機械的な命令並べてgotoするより意味的な命令並べてifとかloopとか使ったほうが簡単だな
同じ処理をなんども書くより関数にしたほうが簡単だな
引数が多くて煩わしいから一緒に使う変数をまとめて構造体にしたほうが簡単だな
この構造体は特定の関数以外から変更されたらそれらの実行の前提条件が崩れるからそれら以外からメンバに触れないようにアクセス制御したほうが間違えなくていいな
それらの関数を構造体と同じ箇所で定義すれば管理しやすいな
メンバ変数みたいにドット演算子でそれらの関数にアクセスできれば楽だな
………
こういう感覚は別にOOPを知らなくてもコーディングを簡単に安全にしたいという欲求があれば自然とたどり着くものなんだけど
感覚がおかしいのかガチで気が付かなかったのか
たどり着けないかわいそうな子も世の中には少なからずいるんだね
228デフォルトの名無しさん
2017/01/08(日) 08:58:29.82ID:FbXxDY90 なんていうかね
棍棒だと重いし動物殺しにくいけど木の棒の先っぽに鋭い石括りつけたら軽くてめっちゃ殺せるんだけどウホホwww
正直この程度の発想でしかないんだよ
OOPってそんなに高尚で難しいものじゃない
それをわざわざ難しい概念だと錯覚して悩むのは時間の無駄じゃないか?
OOPとはなにかOOPの存在意義はなんて哲学者みたいなことを考えてないでさ
自分の感覚に従ってOOPってよくわからんけど手続き型より楽だわウホホwwwって気楽にコーディングすればいいんだよ
棍棒だと重いし動物殺しにくいけど木の棒の先っぽに鋭い石括りつけたら軽くてめっちゃ殺せるんだけどウホホwww
正直この程度の発想でしかないんだよ
OOPってそんなに高尚で難しいものじゃない
それをわざわざ難しい概念だと錯覚して悩むのは時間の無駄じゃないか?
OOPとはなにかOOPの存在意義はなんて哲学者みたいなことを考えてないでさ
自分の感覚に従ってOOPってよくわからんけど手続き型より楽だわウホホwwwって気楽にコーディングすればいいんだよ
229デフォルトの名無しさん
2017/01/08(日) 09:38:52.74ID:oIuk3BCz なんで人格攻撃に移るの?
自分の中で辻褄が合ってないから反論できないのに他人を叩くことでそれを解消しようとするのは間違ってる
お前は技術者を廃業しろ
自分の中で辻褄が合ってないから反論できないのに他人を叩くことでそれを解消しようとするのは間違ってる
お前は技術者を廃業しろ
230デフォルトの名無しさん
2017/01/08(日) 09:50:56.48ID:TXqGgIea ワイ「関数型最強ウホホwww」
231デフォルトの名無しさん
2017/01/08(日) 10:35:35.87ID:uhuLxfGv > 物事をシンプルに考えていくと自然とOOPにたどり着く
逆だろうね
物事を自分のおつむの程度にしかとらえられない人間がようやくたどり着いたのが>>227が書てるOOPもどき
この程度の理解の人間がOOPを真に理解してそのメリットを引き出せているとはとうてい思えない
逆だろうね
物事を自分のおつむの程度にしかとらえられない人間がようやくたどり着いたのが>>227が書てるOOPもどき
この程度の理解の人間がOOPを真に理解してそのメリットを引き出せているとはとうてい思えない
232デフォルトの名無しさん
2017/01/08(日) 10:35:39.50ID:jdkn79Su233デフォルトの名無しさん
2017/01/08(日) 11:28:11.39ID:TXqGgIea 2chの長文すら読めないオジサンって、普段技術書読まないんですかあ?
234デフォルトの名無しさん
2017/01/08(日) 11:45:15.83ID:kab+ZCih 技術書ってクソばかりじゃないですか
235デフォルトの名無しさん
2017/01/08(日) 12:53:03.81ID:MJfiP+Ss >>226
デストラクタはOOPと同時ですよ
デストラクタはOOPと同時ですよ
236デフォルトの名無しさん
2017/01/08(日) 13:04:04.65ID:TNnQVUnB protectedっていつ使うんですかぁ?中途半端じゃないですかぁ?
237デフォルトの名無しさん
2017/01/08(日) 13:07:40.60ID:TXqGgIea 継承やUTで簡単に使えるようにするため
privateは全てprotectedにしろと言われたことあったわ
privateは全てprotectedにしろと言われたことあったわ
238デフォルトの名無しさん
2017/01/08(日) 13:23:09.13ID:kab+ZCih 継承っていう仕組みがクソ。疎結合とはなんだったのかって気分にしてくれる。
239デフォルトの名無しさん
2017/01/08(日) 13:34:11.82ID:kab+ZCih OOPのメリットとして吹聴される要素の8割はクソ。
カプセル化はクソ(めんどくさい)
継承はクソ(親子のねっとりしたつながりがキモイ)
多態は野ぐそ(多態のための汎化、インタフェース抽出とか勘違いも甚だしい。保守性に逆行している)
俺OOP使ってこんな曲芸できます案件多すぎクソ。
カプセル化はクソ(めんどくさい)
継承はクソ(親子のねっとりしたつながりがキモイ)
多態は野ぐそ(多態のための汎化、インタフェース抽出とか勘違いも甚だしい。保守性に逆行している)
俺OOP使ってこんな曲芸できます案件多すぎクソ。
240デフォルトの名無しさん
2017/01/08(日) 13:38:11.45ID:tl4nBuMM 葡萄に手が届かない狐さんのたわごと
241デフォルトの名無しさん
2017/01/08(日) 14:08:24.06ID:TXqGgIea >>239
車輪的再発明すきそう
車輪的再発明すきそう
242デフォルトの名無しさん
2017/01/08(日) 14:08:45.35ID:XDbKIsfA OOPみたいな簡単な仕組みも理解できない人って可哀想
もっと体動かすだけとか根性あればなんとかなる仕事に転職しないの?
もっと体動かすだけとか根性あればなんとかなる仕事に転職しないの?
243デフォルトの名無しさん
2017/01/08(日) 14:17:09.32ID:+qBxgbmJ OOPは本当に簡単で短絡的な思考のすえたどり着く結論だからね
オブジェクトに操作が内包されているというのは
まるで利権主義で、縦割り行政で、日本的といえる
自分の仕事しかしないし、利権はぜった他人に渡さない
利権という物質的なオブジェクトにすべてが紐づいていて整理されている
まぁ実用面では便利な部分もあるんだが
外でOOPサイコーとかいうと人格を疑われかねない
本音と建て前でこっそり使うものだ
オブジェクトに操作が内包されているというのは
まるで利権主義で、縦割り行政で、日本的といえる
自分の仕事しかしないし、利権はぜった他人に渡さない
利権という物質的なオブジェクトにすべてが紐づいていて整理されている
まぁ実用面では便利な部分もあるんだが
外でOOPサイコーとかいうと人格を疑われかねない
本音と建て前でこっそり使うものだ
244デフォルトの名無しさん
2017/01/08(日) 15:26:35.22ID:TXqGgIea OOPを無くした人類はどこへ向かうのか
245236
2017/01/08(日) 15:47:12.81ID:TNnQVUnB オブジェクト指向を用いるメリット
「ラクして、楽しく、良いもの」を作れる
スッキリJavaより抜粋
「ラクして、楽しく、良いもの」を作れる
スッキリJavaより抜粋
246デフォルトの名無しさん
2017/01/08(日) 16:12:47.12ID:TXqGgIea 「ラクして、楽しく、良いもの」を作れる
オブジェクト指向登場後のソフトウェア業界は
さぞかし良い世界になったんだろなあ
オブジェクト指向登場後のソフトウェア業界は
さぞかし良い世界になったんだろなあ
247デフォルトの名無しさん
2017/01/08(日) 16:19:04.51ID:kab+ZCih とてつもなく良い世界にはなってる。
248デフォルトの名無しさん
2017/01/08(日) 16:46:50.39ID:XDbKIsfA 簡単になりすぎて捌ける規模が大きくなったから
逆に要求が膨れ上がって結局辛い世になってる気もするが
まあCOBOLとかやらされるよかマシかな
逆に要求が膨れ上がって結局辛い世になってる気もするが
まあCOBOLとかやらされるよかマシかな
249デフォルトの名無しさん
2017/01/08(日) 16:51:03.49ID:hENayCqC オブジェクト志向言語使っててもアホが考えた社内規約とやらとヘボいフレームワークで全く楽にならねえw
250デフォルトの名無しさん
2017/01/08(日) 17:26:00.28ID:XDbKIsfA251デフォルトの名無しさん
2017/01/08(日) 19:34:42.91ID:oIuk3BCz オブジェクト指向の利点って明確にならないね
252デフォルトの名無しさん
2017/01/08(日) 21:51:12.89ID:tl4nBuMM そういやこのスレって、どんな話題で始まったんだっけ?
「オブジェクト指向の利点を明確にする」
だったっけ?
「オブジェクト指向の利点を明確にする」
だったっけ?
253デフォルトの名無しさん
2017/01/08(日) 22:30:47.12ID:oIuk3BCz >>252
まずメリットが明確にならないとやる意味もわからなくてさ
まずメリットが明確にならないとやる意味もわからなくてさ
254デフォルトの名無しさん
2017/01/08(日) 23:00:17.73ID:iT+T8lZs >>251
俺も最近正直そう思うようになった
最初の頃:おぶじぇくとしこう?
途中:OOP!ポリモ!デザパタ本!OOSC本!
その後:関数型?関数と変数だったら変数散らかるんじゃないんけ!
そののち:意外と関数型記述性ある!不思議と短く書けるなんやこれ!
しばらくして:いや?非OOPでも意外と書けた!
OOP-OOPLというより大事なんは単にモジュール性や!直交性や!
徹底してインタフェースと実装のシンプルさを保つことや!
今:そんでOOPのメリットって何なんやろな?
俺も最近正直そう思うようになった
最初の頃:おぶじぇくとしこう?
途中:OOP!ポリモ!デザパタ本!OOSC本!
その後:関数型?関数と変数だったら変数散らかるんじゃないんけ!
そののち:意外と関数型記述性ある!不思議と短く書けるなんやこれ!
しばらくして:いや?非OOPでも意外と書けた!
OOP-OOPLというより大事なんは単にモジュール性や!直交性や!
徹底してインタフェースと実装のシンプルさを保つことや!
今:そんでOOPのメリットって何なんやろな?
255デフォルトの名無しさん
2017/01/08(日) 23:23:47.58ID:XDbKIsfA そういう本質的に重要な事を記述しやすいってところだろ?
256デフォルトの名無しさん
2017/01/08(日) 23:34:45.33ID:oIuk3BCz257デフォルトの名無しさん
2017/01/08(日) 23:40:45.17ID:XDbKIsfA >>256
そのうちわかるよ
そのうちわかるよ
258デフォルトの名無しさん
2017/01/08(日) 23:49:40.92ID:Y13a86EN でたw
「そのうち」としか答えない相手から聞き出せることはもう無い
「そのうち」としか答えない相手から聞き出せることはもう無い
259デフォルトの名無しさん
2017/01/08(日) 23:58:45.01ID:GQKjgtEl260デフォルトの名無しさん
2017/01/09(月) 00:35:10.65ID:XasE0eMK ソースのどこに記述するか?って方式の話でしかないよね
ボタン1を押したときの処理Aはオブジェクト指向で記述しようがそれ以外で記述しようが
ソースのどこかに記述しなければならない
オブジェクト指向ってのはつまるところその様式美
別にどこだっていいじゃん( ´∀`)b
ボタン1を押したときの処理Aはオブジェクト指向で記述しようがそれ以外で記述しようが
ソースのどこかに記述しなければならない
オブジェクト指向ってのはつまるところその様式美
別にどこだっていいじゃん( ´∀`)b
261デフォルトの名無しさん
2017/01/09(月) 01:00:59.79ID:Dm7q6S9e そしてウンポコPのペチプァみたいなゴミ屑コードができあがる
262デフォルトの名無しさん
2017/01/09(月) 07:16:32.07ID:MB0kUoDj そのボタン1は、UIコントロールの基底クラスを継承するというOOPで作られてるとは思うけど
まぁだからといって使う側がOOPに従わなきゃならん、ということにはならないな
ボタン1を使いながら「OOPなんて不要!」と言ってるとしたらアホだとは思うが
まぁだからといって使う側がOOPに従わなきゃならん、ということにはならないな
ボタン1を使いながら「OOPなんて不要!」と言ってるとしたらアホだとは思うが
263デフォルトの名無しさん
2017/01/09(月) 07:18:15.57ID:XasE0eMK >>262
話の主旨もわからず回答とかおめでてーな
話の主旨もわからず回答とかおめでてーな
264デフォルトの名無しさん
2017/01/09(月) 10:27:05.05ID:VxLyi546 イベントハンドラの引数に押されたボタンのid渡すコード見るたびに
せっかくのオブジェクト指向が台無しになってる感はある。
せっかくのオブジェクト指向が台無しになってる感はある。
265デフォルトの名無しさん
2017/01/10(火) 22:51:34.90ID:drzFW1uA クソコードハラスメントって概念を提唱したい
書いた本人が意図する、しないにかかわらず、相手が不快に思い、
相手が自身の尊厳を傷つけられたと感じるようなクソコードを指します。
糞レベル1. 汚いコードだなぁと思う
糞レベル2. 汚すぎて読むのためらう
糞レベル3. どうしたらこうなっちゃうのか理解不能
糞レベル4. なぜこれを人に見せたのか理解不能
書いた本人が意図する、しないにかかわらず、相手が不快に思い、
相手が自身の尊厳を傷つけられたと感じるようなクソコードを指します。
糞レベル1. 汚いコードだなぁと思う
糞レベル2. 汚すぎて読むのためらう
糞レベル3. どうしたらこうなっちゃうのか理解不能
糞レベル4. なぜこれを人に見せたのか理解不能
266デフォルトの名無しさん
2017/01/11(水) 00:22:47.67ID:GtOiWPCh 大概書いた奴は既に現場にいないという現実
某糞PHPの糞保守案件でガチで撲殺してやりたいコードあったわ
某糞PHPの糞保守案件でガチで撲殺してやりたいコードあったわ
267デフォルトの名無しさん
2017/01/11(水) 00:55:08.27ID:t4W503XG 自社で保守する仕事なら綺麗に書くけど
同業他社が保守するなら難解な方がいいだろ
足を引っ張って競争が優位になる
同業他社が保守するなら難解な方がいいだろ
足を引っ張って競争が優位になる
268デフォルトの名無しさん
2017/01/11(水) 00:58:40.69ID:p4WB0UzK 無駄
269デフォルトの名無しさん
2017/01/11(水) 00:58:42.43ID:GtOiWPCh >>267
こんなんだから凋落してくんだよジャップランド土人が
こんなんだから凋落してくんだよジャップランド土人が
270デフォルトの名無しさん
2017/01/11(水) 01:03:37.68ID:t4W503XG アベノミクスで不景気だしどこも余裕がない
毎日残業で安月給じゃそりゃ人格も歪んでくる
毎日残業で安月給じゃそりゃ人格も歪んでくる
271デフォルトの名無しさん
2017/01/11(水) 01:06:16.95ID:1SbN3a75272デフォルトの名無しさん
2017/01/11(水) 01:20:12.02ID:GtOiWPCh273デフォルトの名無しさん
2017/01/11(水) 06:50:15.75ID:1SbN3a75274デフォルトの名無しさん
2017/01/11(水) 12:29:20.79ID:1hmax6h/275デフォルトの名無しさん
2017/01/11(水) 22:20:40.95ID:R6uUA9rB 仕様が無いのになぜ動いていると言えるのか。
276デフォルトの名無しさん
2017/01/11(水) 22:53:40.84ID:SOQiv9G3 動いてるとも動いてないとも言えない
これが波動関数ってやつさ
これが波動関数ってやつさ
277デフォルトの名無しさん
2017/01/11(水) 23:44:57.82ID:GtOiWPCh >>275
仕様がない=動作が正=動いている
仕様がない=動作が正=動いている
278デフォルトの名無しさん
2017/01/11(水) 23:53:04.21ID:SOQiv9G3 仕様がないつまり未定義
つまり何が起こってもおかしくない
パルプンテ状態
つまり何が起こってもおかしくない
パルプンテ状態
279デフォルトの名無しさん
2017/01/12(木) 08:29:14.43ID:D/kCxt4Z Cの悪口はやめろ
280デフォルトの名無しさん
2017/01/14(土) 20:38:16.71ID:2kEkn3lr 初期化以降はリードオンリーとするフィールドint barがある場合
class Foo {
private int bar;
public Foo(int bar) {this.bar = bar;}
public int getBar() {return bar;} // ゲッターだけ公開
}
↑こうするより↓こうしたほうが色々気持ちよくない?
class Foo {
public final int bar; // C#ではfinalのかわりにreadonly
public Foo(int bar) {this.bar = bar;}
}
どうよ?
class Foo {
private int bar;
public Foo(int bar) {this.bar = bar;}
public int getBar() {return bar;} // ゲッターだけ公開
}
↑こうするより↓こうしたほうが色々気持ちよくない?
class Foo {
public final int bar; // C#ではfinalのかわりにreadonly
public Foo(int bar) {this.bar = bar;}
}
どうよ?
281デフォルトの名無しさん
2017/01/14(土) 21:48:54.83ID:YGCVk3Sf >>280
C#ならプロパティ使えばよくね
C#ならプロパティ使えばよくね
282デフォルトの名無しさん
2017/01/14(土) 21:56:28.41ID:rLoB6nGZ >>281
Java脳だから仕方ない
Java脳だから仕方ない
283デフォルトの名無しさん
2017/01/14(土) 23:11:55.85ID:/w8IJdhk C#は、自動プロパティの初期化もできるようになったしな
284デフォルトの名無しさん
2017/01/15(日) 09:41:20.06ID:h+wxmfZm OOPでフィールドを丸出しなんてはしたないことはやめてください
285デフォルトの名無しさん
2017/01/15(日) 19:09:57.72ID:L9FFXvsx >>284
それに対する俺の考えはこう
・あるものが不変で良いなら不変にしておきたい
・不変であるのならメソッドを経由しなくていい
・フィールドをpublicにしておける言語がある理由もそこらへんじゃないのかなっ
どう?
「OOPで〜」に対する返事にはなってないかもしれないけど
それに対する俺の考えはこう
・あるものが不変で良いなら不変にしておきたい
・不変であるのならメソッドを経由しなくていい
・フィールドをpublicにしておける言語がある理由もそこらへんじゃないのかなっ
どう?
「OOPで〜」に対する返事にはなってないかもしれないけど
286デフォルトの名無しさん
2017/01/15(日) 19:25:01.82ID:h+wxmfZm フィールドは実装
実装を晒しては行けない
実装を晒しては行けない
287デフォルトの名無しさん
2017/01/15(日) 19:43:31.26ID:0NZmkTyB オブジェクト指向的にはプロパティへのアクセスはメッセージに限定してカプセル化としたいんじゃないかなぁ?
って思う
って思う
288285
2017/01/15(日) 20:03:27.72ID:zmg1eHAc289デフォルトの名無しさん
2017/01/15(日) 20:05:23.89ID:kU0DmNyE そういうOOPLってのは
フィールドをpublicに出来ない言語って意味ね
フィールドをpublicに出来ない言語って意味ね
290デフォルトの名無しさん
2017/01/15(日) 23:28:22.35ID:W9Vj9w+K ま、はしかみたいなものだね
OOの美学みたいな考えがあるんだろうけど
よくよく考えると大した概念ではないし、本質的でもない
多くのOOPはマルチメソッドをサポートしていないので
二つのオブジェクトに跨る処理をどちらに書こうかという
問題にぶち当たるし、得てしてそういった複数のオブジェクトに跨がる処理が
そのプログラムの本質的な部分であったりもするからね
プログラムの簡単な部分に関しては簡単に書ける、それがOOP
OOの美学みたいな考えがあるんだろうけど
よくよく考えると大した概念ではないし、本質的でもない
多くのOOPはマルチメソッドをサポートしていないので
二つのオブジェクトに跨る処理をどちらに書こうかという
問題にぶち当たるし、得てしてそういった複数のオブジェクトに跨がる処理が
そのプログラムの本質的な部分であったりもするからね
プログラムの簡単な部分に関しては簡単に書ける、それがOOP
291デフォルトの名無しさん
2017/01/15(日) 23:55:46.52ID:W9Vj9w+K OOはどちらかといえばデータ構造に基づいた設計手法で
(あ、クラスはデータじゃなくて機能って言う人もいるだろうが
データに対する機能を提供している側面があるので・・)
空間に基づいた設計手法といえるが
当然、時間に基づいた考え方というのもあり得て
プログラムの本質が手続きであり、命令を上から順番に実行していくものだとするなら
こちらのほうが本題かもしれなく、少なくとも何がどの順で実行されるか
良くわからないという事態だけは避けなければならない
あまり自律的なオブジェクトを設計してはダメってこと
AがBのメソッドを呼んで、その中で今度はBがAのメソッドを呼び出す・・・
ということは避けなければならない
なぜならAがBのメソッドを呼び出したとき、Aは処理の途中であり
その状態でBがAのメソッドを呼び出すのは危険だから
デッドロックの危険性もある
オブジェクト同士がメッセージをパッシングし合い、まるで生態系のように振る舞い
結果として何らかの機能が提供されるというのは、機能の観点からは遠回りであるし
何がどの順で実行されるかよくわからないという意味で、手続き的には厄介だ
俺たちは何かのシミュレーションがしたいというわけではない
AとBをコミュニケートされるなら、それらの親にあたる部分が仲介すればよく
AとBが直接コミュニケートする必要はない
そうすれば手順が明確になる
オブジェクトとは良きパーツであるべき
(あ、クラスはデータじゃなくて機能って言う人もいるだろうが
データに対する機能を提供している側面があるので・・)
空間に基づいた設計手法といえるが
当然、時間に基づいた考え方というのもあり得て
プログラムの本質が手続きであり、命令を上から順番に実行していくものだとするなら
こちらのほうが本題かもしれなく、少なくとも何がどの順で実行されるか
良くわからないという事態だけは避けなければならない
あまり自律的なオブジェクトを設計してはダメってこと
AがBのメソッドを呼んで、その中で今度はBがAのメソッドを呼び出す・・・
ということは避けなければならない
なぜならAがBのメソッドを呼び出したとき、Aは処理の途中であり
その状態でBがAのメソッドを呼び出すのは危険だから
デッドロックの危険性もある
オブジェクト同士がメッセージをパッシングし合い、まるで生態系のように振る舞い
結果として何らかの機能が提供されるというのは、機能の観点からは遠回りであるし
何がどの順で実行されるかよくわからないという意味で、手続き的には厄介だ
俺たちは何かのシミュレーションがしたいというわけではない
AとBをコミュニケートされるなら、それらの親にあたる部分が仲介すればよく
AとBが直接コミュニケートする必要はない
そうすれば手順が明確になる
オブジェクトとは良きパーツであるべき
292デフォルトの名無しさん
2017/01/16(月) 00:16:59.04ID:WtkYzKjH private Integer id;
private String domain;
String getAccountId() {
return domain + "-" + id.toString() + ;
}
こんな感じで、ゲッタの方が処理挟まないといけんくなったとき、ラクダからちゃう?
でもやっぱaccountId定義してコンストラクタ初期化すれば
やっぱフィールドおっ広げいいかとも思っちゃったり
private String domain;
String getAccountId() {
return domain + "-" + id.toString() + ;
}
こんな感じで、ゲッタの方が処理挟まないといけんくなったとき、ラクダからちゃう?
でもやっぱaccountId定義してコンストラクタ初期化すれば
やっぱフィールドおっ広げいいかとも思っちゃったり
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ★2 [♪♪♪★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【高市悲報】大暴落 [115996789]
- 30代男性の部屋がすごい [577451214]
- 16のヒッキー女に構って
- 【画像】男の脳内 だいたいこれ
- 一人暮らしだからケツ出してみてるけど
- ジャンボ宝くじで10億当たる予定なんだが親戚からたかられない方法教えろ
