無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語: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/
前前前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
前前スレ
オブジェクト指向ってクソじゃねぇかよPart3
https://mevius.5ch.net/test/read.cgi/tech/1542884872/
前スレ
オブジェクト指向ってクソじゃねぇかよPart4
https://mevius.5ch.net/test/read.cgi/tech/1556462315/
探検
オブジェクト指向ってクソかよPart5
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/10/08(火) 15:46:57.38ID:YglSDU9b2019/10/11(金) 16:15:29.39ID:dN/CgRLR
>>71
それ情報隠蔽やで
それ情報隠蔽やで
2019/10/11(金) 16:15:57.04ID:dN/CgRLR
試験落ちてまうど
2019/10/11(金) 16:17:48.83ID:QtmRuluN
2019/10/11(金) 16:19:56.39ID:dN/CgRLR
>>74
君の思いはわかったけど独りよがりの思い込みに価値などない、君はJavaブロンズに受からない
君の思いはわかったけど独りよがりの思い込みに価値などない、君はJavaブロンズに受からない
2019/10/11(金) 16:20:25.93ID:dN/CgRLR
君は完全に間違っている
2019/10/11(金) 16:21:29.10ID:dN/CgRLR
カプセル化は値と操作の一体化のこと
2019/10/11(金) 16:26:03.75ID:dN/CgRLR
Javaブロンズの前で君たちの浅はかな理解など取るに足らぬ
2019/10/11(金) 16:43:07.90ID:LwZAFcHp
カプセル化おじさんはちからをためている。
2019/10/11(金) 17:10:40.83ID:ALv2Fv/b
どうしてキャプセレチオンしないのよーッ!
2019/10/11(金) 17:48:10.46ID:6SqPsHXs
ところで、ここまでオブジェクト指向をクソだとする根拠があがらないのはなぜ?
オブジェクト指向プログラマーvs誰がとは言わんがオブジェクト指向プログラマー気取り が激突するスレかな?
オブジェクト指向プログラマーvs誰がとは言わんがオブジェクト指向プログラマー気取り が激突するスレかな?
2019/10/11(金) 17:57:40.40ID:ljKmFHFW
>>81
そもそも、オブジェクト指向にメリットが無いからな
強いて言えば単に費やす時間が無駄なだけ
オブジェクト指向とはソースファイルのどこに処理を書くか?
ただそれだけの技術である
→実はどこに書いたって動く(核爆)
そもそも、オブジェクト指向にメリットが無いからな
強いて言えば単に費やす時間が無駄なだけ
オブジェクト指向とはソースファイルのどこに処理を書くか?
ただそれだけの技術である
→実はどこに書いたって動く(核爆)
2019/10/11(金) 18:02:01.44ID:dN/CgRLR
オブジェクト指向がクソなのはインスタンス変数の存在のせい
できるだけメソッドの行数を減らすとかインスタンス変数を使わないメソッドはオブジェクト指向じゃないとか巷で言われてるせいでそれを真に受けた意識高い初心者がゴミのようなコードを量産してしまうところにオブジェクト指向の限界を僕は感じましたよ
できるだけメソッドの行数を減らすとかインスタンス変数を使わないメソッドはオブジェクト指向じゃないとか巷で言われてるせいでそれを真に受けた意識高い初心者がゴミのようなコードを量産してしまうところにオブジェクト指向の限界を僕は感じましたよ
2019/10/11(金) 18:14:37.08ID:dN/CgRLR
オブジェクト指向で作られたhello worldを見ればわかるがオブジェクト指向は過度な抽象化を促進する抽象化圧力つまりアブストラクションプレッシャリングアクセラレイトがかかるからそれをいなせる胆力がないと使いこなすのは難しい
2019/10/11(金) 18:21:24.34ID:6SqPsHXs
>>83
なるほど、staticおじさんがstaticおじさんになった時の主張に似ているね。
オブジェクト指向の定義はさておき、インスタンス化のメリットはクラスという型から必要な数だけオブジェクトを生成できること。
そのメリットが無いのならJavaやC#のMathみたいにstatic化すればいいじゃんって思うし、オブジェクト指向をクソ呼ばわりする根拠が弱い気がするが...。
実際、自分もMathみたいにインスタンス化が不要であればstaticにするし。
まぁ、staticおじさんみたいに全部static化はしないが。
>>82
まぁ、既存の方法で困っていないのならオブジェクト指向は採用しなくてもいいんじゃないかな?
クソ呼ばわりしたら、なんで?って聞くけど。
コーディングの行数は比較したことがないからなんとも言えないが、オブジェクト指向導入で工数削減なら実現した事例は、いくらでもあるよ。
書いたコードを再利用しやすいのがオブジェクト指向のメリットの一つだからね。
なるほど、staticおじさんがstaticおじさんになった時の主張に似ているね。
オブジェクト指向の定義はさておき、インスタンス化のメリットはクラスという型から必要な数だけオブジェクトを生成できること。
そのメリットが無いのならJavaやC#のMathみたいにstatic化すればいいじゃんって思うし、オブジェクト指向をクソ呼ばわりする根拠が弱い気がするが...。
実際、自分もMathみたいにインスタンス化が不要であればstaticにするし。
まぁ、staticおじさんみたいに全部static化はしないが。
>>82
まぁ、既存の方法で困っていないのならオブジェクト指向は採用しなくてもいいんじゃないかな?
クソ呼ばわりしたら、なんで?って聞くけど。
コーディングの行数は比較したことがないからなんとも言えないが、オブジェクト指向導入で工数削減なら実現した事例は、いくらでもあるよ。
書いたコードを再利用しやすいのがオブジェクト指向のメリットの一つだからね。
2019/10/11(金) 18:54:22.09ID:QtmRuluN
2019/10/11(金) 20:44:45.28ID:kv91xo2J
細胞が膜で覆われてるのに似てる。
中身のものを直接扱えないのもな。
中身のものを直接扱えないのもな。
2019/10/11(金) 20:59:44.57ID:Obz6LqVu
カプセル化を説明するときはリモコンや自販機や車とか、あとお店のサービスで普通例えない?
的外れな例えはむしろ害となりがち
的外れな例えはむしろ害となりがち
2019/10/12(土) 00:05:00.41ID:hC2MVz5n
変なのがワラワラ湧いてきたな。
オブジェクト指向はまるで池沼ホイホイだな。
オブジェクト指向はまるで池沼ホイホイだな。
2019/10/12(土) 03:38:52.22ID:m58DXjin
カプセル化と継承を同じレベルで考えてるやつがいるからな。
継承は「行うこと」だが、カプセル化は「行うこと」じゃなくて概念。
カプセル化という概念がわかっていて、その概念に従って設計すれば
こういうメリットがありますよーっていう話だから
カプセル化という概念に従った設計をするときに使える便利な道具が
privateやインターフェース。だからといって別に使う必要があるわけじゃない。
多く言語ではカプセル化という概念を取り入れて言語を作っているから、
publicプロパティを使っていても、カプセル化に従うことが出来るが、
Javaではsetter/getterというワークアラウンド(_で始まる名前をprivate変数とするという規約と同じ)が
必要になるが、多くの言語ではそんな事気にしなくてもカプセル化という概念を満たすコードが書ける
継承は「行うこと」だが、カプセル化は「行うこと」じゃなくて概念。
カプセル化という概念がわかっていて、その概念に従って設計すれば
こういうメリットがありますよーっていう話だから
カプセル化という概念に従った設計をするときに使える便利な道具が
privateやインターフェース。だからといって別に使う必要があるわけじゃない。
多く言語ではカプセル化という概念を取り入れて言語を作っているから、
publicプロパティを使っていても、カプセル化に従うことが出来るが、
Javaではsetter/getterというワークアラウンド(_で始まる名前をprivate変数とするという規約と同じ)が
必要になるが、多くの言語ではそんな事気にしなくてもカプセル化という概念を満たすコードが書ける
2019/10/12(土) 06:02:26.53ID:hC2MVz5n
カプセル化とは何か人によって解釈がさまざまで、よく話が発散するが、
カプセル化を含むオブジェクト指向の害を弾劾するこのスレにおいて
自分の考えこそカプセル化として正しいとか主張すること自体
スレ違いなのは理解できている?
カプセル化を含むオブジェクト指向の害を弾劾するこのスレにおいて
自分の考えこそカプセル化として正しいとか主張すること自体
スレ違いなのは理解できている?
2019/10/12(土) 06:31:54.75ID:1JRUpTA+
腹いてえ下痢だよゲリぃ
グリーンピース食べすぎたわ
グリーンピース食べすぎたわ
2019/10/12(土) 06:34:02.05ID:hC2MVz5n
ボッチしとけよ
2019/10/12(土) 09:27:37.09ID:tUC1lSfU
2019/10/12(土) 09:40:03.04ID:PKccBz0E
オブジェクト戦士(バカ)多いな
2019/10/12(土) 09:48:44.50ID:tUC1lSfU
> 変なのがワラワラ湧いてきたな。
> オブジェクト指向はまるで池沼ホイホイだな。
> オブジェクト戦士(バカ)多いな
ここは罵り合うだけのスレかな?
やーい、お前のソースコードs t a t i c!
> オブジェクト指向はまるで池沼ホイホイだな。
> オブジェクト戦士(バカ)多いな
ここは罵り合うだけのスレかな?
やーい、お前のソースコードs t a t i c!
2019/10/12(土) 10:28:24.31ID:7TGqmTiW
カプセル化おじさんのレス見て思うのは
自分の無知や間違いを認められなくなったら技術者としては終わりだなってこと
歳を取ると老害が増える理由
自分の無知や間違いを認められなくなったら技術者としては終わりだなってこと
歳を取ると老害が増える理由
2019/10/12(土) 10:31:11.04ID:TBjVU2MA
↑このように自分の意見を何一つ言わず、
相手を批難するばかりになったらお終い
相手を批難するばかりになったらお終い
2019/10/12(土) 10:33:55.10ID:EMzTIefb
↑このように自分の意見を何一つ言わず、
相手を批難するばかりになったらお終い
相手を批難するばかりになったらお終い
100デフォルトの名無しさん
2019/10/12(土) 10:37:18.66ID:TBjVU2MA >>99
俺は意見を言ってるからそれは的外れ
俺は意見を言ってるからそれは的外れ
101デフォルトの名無しさん
2019/10/12(土) 10:40:44.08ID:Sr/UvC0O >>97も意見じゃね?
老害の件はわからんが。
老害の件はわからんが。
102デフォルトの名無しさん
2019/10/12(土) 10:41:35.07ID:TBjVU2MA >>101
オブジェクト指向に関する意見に決まってるだろw
オブジェクト指向に関する意見に決まってるだろw
103デフォルトの名無しさん
2019/10/12(土) 10:47:40.84ID:Sr/UvC0O > オブジェクト指向に関する意見に決まってるだろw
???
???
104デフォルトの名無しさん
2019/10/12(土) 10:58:35.93ID:nGOXFHJU ここはオブジェクト指向のスレなんだから
カプセル化についての主張をするのは正しい
だけど、それは間違いだーっていうだけで
何が正しいのかの自分の意見を言わないのは老害でしかない。
という話だよ
カプセル化についての主張をするのは正しい
だけど、それは間違いだーっていうだけで
何が正しいのかの自分の意見を言わないのは老害でしかない。
という話だよ
105デフォルトの名無しさん
2019/10/12(土) 11:08:34.26ID:6fabclhr106デフォルトの名無しさん
2019/10/12(土) 11:17:25.67ID:Sr/UvC0O107デフォルトの名無しさん
2019/10/12(土) 11:55:42.30ID:PKccBz0E 相変わらずオブジェクト戦士はバカばっかりだな
108デフォルトの名無しさん
2019/10/12(土) 12:02:36.13ID:68Eagdnq おじさんってだけで拒否反応や反抗心から若者の意見を理解しない老害扱いするけど、
若者がおじさんの主張に耳を傾けてないのは結局おじさんと同じことしてるよね
おじさんの局所的な経験則やノウハウにも局所解としての妥当性を認めていいんじゃないかな?
銀の弾丸はないんだし
自分は関数型言語は型理論を触った程度の理解をしつつ、
オブジェクト指向推進派だったけど、長いことやってると
確かにオブジェクト指向に疑問を感じるときがある
例えば、複数のオブジェクトで協調動作させようとすると、
クラス内にカプセル化できなくなって、〜コントローラや〜マネージャーとか
どちらかというと抽象的なオブジェクトで溢れかえる設計ってとてもよく見るし自分も書く
C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
オブジェクト指向っていうより関数型的な感じがする
若者がおじさんの主張に耳を傾けてないのは結局おじさんと同じことしてるよね
おじさんの局所的な経験則やノウハウにも局所解としての妥当性を認めていいんじゃないかな?
銀の弾丸はないんだし
自分は関数型言語は型理論を触った程度の理解をしつつ、
オブジェクト指向推進派だったけど、長いことやってると
確かにオブジェクト指向に疑問を感じるときがある
例えば、複数のオブジェクトで協調動作させようとすると、
クラス内にカプセル化できなくなって、〜コントローラや〜マネージャーとか
どちらかというと抽象的なオブジェクトで溢れかえる設計ってとてもよく見るし自分も書く
C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
オブジェクト指向っていうより関数型的な感じがする
109デフォルトの名無しさん
2019/10/12(土) 12:09:11.67ID:vBnCHMzu 曰く、銀の弾丸はない
でも、金の睾丸は?
でも、金の睾丸は?
110デフォルトの名無しさん
2019/10/12(土) 12:24:36.42ID:6fabclhr111デフォルトの名無しさん
2019/10/12(土) 12:50:30.72ID:7TGqmTiW112デフォルトの名無しさん
2019/10/12(土) 12:51:06.93ID:6fabclhr113デフォルトの名無しさん
2019/10/12(土) 13:25:11.09ID:PKccBz0E オブジェクト指向にメリットなんかねー時点で議論など無駄
114デフォルトの名無しさん
2019/10/12(土) 13:36:07.11ID:68Eagdnq >>110
オブジェクトの内部構造に関係ない協調動作に関する処理を
どこに配置するべきかって話
専用のコントローラや専用のマネージャークラスが頻繁に作られるけど、
別のアプローチ(C#のstaticクラスのstaticメソッドとか)が可能なこともあるし、
別のパラダイムも検討する価値あるんじゃないかなと思うようになった
他の例をあげるなら、特殊な数値クラスを作ったとして二項演算子などの
演算子を数値クラス内にカプセル化するべきかって話も
協調動作の問題と重なってる部分があると思う
(ここまで行くと言語側に手を加えるレベルの話になるけど)
オブジェクトの内部構造に関係ない協調動作に関する処理を
どこに配置するべきかって話
専用のコントローラや専用のマネージャークラスが頻繁に作られるけど、
別のアプローチ(C#のstaticクラスのstaticメソッドとか)が可能なこともあるし、
別のパラダイムも検討する価値あるんじゃないかなと思うようになった
他の例をあげるなら、特殊な数値クラスを作ったとして二項演算子などの
演算子を数値クラス内にカプセル化するべきかって話も
協調動作の問題と重なってる部分があると思う
(ここまで行くと言語側に手を加えるレベルの話になるけど)
115デフォルトの名無しさん
2019/10/12(土) 13:50:47.60ID:hC2MVz5n オブジェクト指向が人の間に広まっていくうちに
どうしてだんだん変なやり方に変わってゆき
非科学的で都市伝説みたいな方法論になってしまったのか
よく分かる流れだな
どうしてだんだん変なやり方に変わってゆき
非科学的で都市伝説みたいな方法論になってしまったのか
よく分かる流れだな
116デフォルトの名無しさん
2019/10/12(土) 14:12:10.68ID:6fabclhr 複雑なものをシンプルに扱えるようにしましょうという
人間の心の話なのになんで科学がでてくるの?
人間の心の話なのになんで科学がでてくるの?
117デフォルトの名無しさん
2019/10/12(土) 14:26:06.65ID:Y/6Ne90r >>108
> C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
> オブジェクト指向っていうより関数型的な感じがする
オブジェクト指向に関数型を適用してはいけないなんてルールは無いと思う。
そんなこと言い出したらOOPする際はラムダ式使うなって話になりそう。
あと、Mathクラスの解釈だが...
自分はMtahクラスみたいにstatic化するべきクラスでも、最初は非staticで設計する。
つまり、こうなる。
Math m = new Math();
int x = m.abs(引数);
でも、これだとstaticおじさんの言うとおり、オブジェクト指向ってしっくりこないんです状態。
※元ネタのstaticおじさんは具体例は挙げなかったが。
そこで、オブジェクト指向プログラマーは気を効かせ、static化する。
int x = Math.abs(引数);
つまり、static化は省略できるものは省略しよう...という、オブジェクト指向プログラマーの気遣い。
そういう解釈でいいと思うよ。
まぁ、どうしても「そんなのオブジェクト指向じゃねえ!」と言うのならオブジェクト指向の型を破ると解釈してもいいけどね。
このスレ的にはOOPの解釈を曖昧にするのは駄目な気もするが、個人的には扱いやすいクラスさえ作れれば何でもいいや。
> C#のstaticクラスのstaticメソッドとかはそれへの部分的な解決法になるけど、
> オブジェクト指向っていうより関数型的な感じがする
オブジェクト指向に関数型を適用してはいけないなんてルールは無いと思う。
そんなこと言い出したらOOPする際はラムダ式使うなって話になりそう。
あと、Mathクラスの解釈だが...
自分はMtahクラスみたいにstatic化するべきクラスでも、最初は非staticで設計する。
つまり、こうなる。
Math m = new Math();
int x = m.abs(引数);
でも、これだとstaticおじさんの言うとおり、オブジェクト指向ってしっくりこないんです状態。
※元ネタのstaticおじさんは具体例は挙げなかったが。
そこで、オブジェクト指向プログラマーは気を効かせ、static化する。
int x = Math.abs(引数);
つまり、static化は省略できるものは省略しよう...という、オブジェクト指向プログラマーの気遣い。
そういう解釈でいいと思うよ。
まぁ、どうしても「そんなのオブジェクト指向じゃねえ!」と言うのならオブジェクト指向の型を破ると解釈してもいいけどね。
このスレ的にはOOPの解釈を曖昧にするのは駄目な気もするが、個人的には扱いやすいクラスさえ作れれば何でもいいや。
118デフォルトの名無しさん
2019/10/12(土) 14:35:40.11ID:6fabclhr はぁ?absをオブジェクト指向にするなら
Number n = new Integer(-123)
n.abs() やろ
Number n = new Integer(-123)
n.abs() やろ
119デフォルトの名無しさん
2019/10/12(土) 14:40:25.05ID:Y/6Ne90r >>118
ソウダネー。
ソウダネー。
120デフォルトの名無しさん
2019/10/12(土) 14:44:19.05ID:6fabclhr >>119
そうだよ。Rubyとか勉強してみな
そうだよ。Rubyとか勉強してみな
121デフォルトの名無しさん
2019/10/12(土) 14:44:35.81ID:hC2MVz5n122デフォルトの名無しさん
2019/10/12(土) 14:49:19.34ID:6fabclhr そうあってほしいと>>121が考えてるだけ
123デフォルトの名無しさん
2019/10/12(土) 14:50:23.73ID:Y/6Ne90r124デフォルトの名無しさん
2019/10/12(土) 14:50:31.28ID:hC2MVz5n 今まさにオブジェクト指向によってもたらされている混乱から目をそむけないほうがいいよ
125デフォルトの名無しさん
2019/10/12(土) 20:22:58.57ID:BYtPECuz >>85
>オブジェクト指向の定義はさておき、
ところで「チンボがシコシコする」という日本語表現は、文法的に正しいのか?
チンボ「を」シコシコするのではなくて、チンボ「が」シコシコする。この場合、「チンボ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンボがシコシコする」はダメな理由を、50字以内で述べろ!
>オブジェクト指向の定義はさておき、
ところで「チンボがシコシコする」という日本語表現は、文法的に正しいのか?
チンボ「を」シコシコするのではなくて、チンボ「が」シコシコする。この場合、「チンボ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンボがシコシコする」はダメな理由を、50字以内で述べろ!
126デフォルトの名無しさん
2019/10/12(土) 20:28:17.23ID:1JRUpTA+127デフォルトの名無しさん
2019/10/12(土) 20:31:23.42ID:BYtPECuz つまりオブジェクト指向とは、俺の股間に付いているモノなのである!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
. , ャ ィE5!..
.. ,,.e;〆 .、 w===|====!. π .e、x&
.. ^~ ! ``= π ,, カ. _ _ ̄オ⌒|! `ヘ
. fラ⌒ ̄l「~~~^. ,.タ. .ル .ll ~\_ 〃 〃. ^..
. .オ.. ,...__,xf~. ^ f! 、
. '^´  ̄ ̄..
.. l|.. r=キ'⌒..
. `!、 ~~~~~~⌒... l}
⌒heィ~. .+s_、_e. .^+--w=f `ヲse、._ _、... ′
チンポは独立した生き物であり、本人の意思とは無関係に、自らの意思で勃起してシコシコする!
128デフォルトの名無しさん
2019/10/12(土) 20:35:24.78ID:1JRUpTA+ 質問に答えてください!
129デフォルトの名無しさん
2019/10/12(土) 22:42:46.45ID:RvFyS8G3 人類の歴史を作ってきたのはおじさんだからな
おじさんの言うことを聞いていればだいたい間違いはないが、重大な間違いを犯すのもまたおじさん
おじさんの言うことを聞いていればだいたい間違いはないが、重大な間違いを犯すのもまたおじさん
130デフォルトの名無しさん
2019/10/12(土) 22:45:21.43ID:BYtPECuz >>128
だからオブジェクト指向は俺の股間に付いているのだ!
だからオブジェクト指向は俺の股間に付いているのだ!
131デフォルトの名無しさん
2019/10/13(日) 03:57:42.23ID:3vnN9KRU だからそれは、糞だってば おじぃちゃん
132デフォルトの名無しさん
2019/10/13(日) 09:50:19.58ID:kfwaB+Y7 カプセル化って
中に有るものを見たり使ったり出来ないようにしないと意味が無い
getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
それではグローバル変数となんら変わりは無い
ただそれをどうやればいいのか?
と聞かれるとセオリーや具体的な手法が存在していない
それがオブジェクト指向プログラミングが糞と言われてしまう原因になってる
現状では属人的に出来る人だけが使えるようになってしまっている
中に有るものを見たり使ったり出来ないようにしないと意味が無い
getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
それではグローバル変数となんら変わりは無い
ただそれをどうやればいいのか?
と聞かれるとセオリーや具体的な手法が存在していない
それがオブジェクト指向プログラミングが糞と言われてしまう原因になってる
現状では属人的に出来る人だけが使えるようになってしまっている
133デフォルトの名無しさん
2019/10/13(日) 10:07:37.44ID:0tGtu6dL >>132 の発言を自分がちゃんと理解しているか怪しいのだが...
> getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
> それではグローバル変数となんら変わりは無い
んん?具体例がほしいな。
こういうこと?
class test{
private:
int x;
public:
int getX(){
return x;
}
void setX(int a){
x = a;
}
}
これってあんまり意味ねーよね?って話?
> getter,setterで使い捲くるのでは余り意味が無い(初期設定はしないといけないからsetterなりコンストラクタで設定する必要は有る)
> それではグローバル変数となんら変わりは無い
んん?具体例がほしいな。
こういうこと?
class test{
private:
int x;
public:
int getX(){
return x;
}
void setX(int a){
x = a;
}
}
これってあんまり意味ねーよね?って話?
134デフォルトの名無しさん
2019/10/13(日) 10:40:41.09ID:OhlF8Q6H >>132
まーた間違ってる。
グローバル変数がなぜ悪かというと、プロジェクト全体から
読み書きできてしまうのでどこで参照してるかわからないから。
つまりスコープの範囲が広すぎるという問題。パブリックであることと何の関係もない。
それにカプセル化は、隠さなくて良いものまで隠せと言ってるわけじゃない。
隠すもの(内部構造)と隠さななくて良いもの(インターフェース)を
きっちりワケましょう、それによってメンテナンス性が上がりますという概念
すべて隠さなくていいオブジェクトだって存在する。それはそうするのが正しいので
カプセル化を破壊してることにはならない。隠すべき内部構造がないと言うだけ。
なんで隠してなければ、カプセル化破壊だと思うんだろうか?
getter,setterってまたJavaの話をしてるんだろうけど、
それはJavaという言語にカプセル化を実現するための機能が不足してるから
規約でカバーしてるだけ。他のオブジェクト指向言語であれば
お前の言うgetter,setterが無い言語もある。
お前がオブジェクト指向を理解してない=お前が糞なのであって
それをオブジェクト指向のせいにするな。
あと知識が狭すぎる。Javaしか知らないんだろ。
まーた間違ってる。
グローバル変数がなぜ悪かというと、プロジェクト全体から
読み書きできてしまうのでどこで参照してるかわからないから。
つまりスコープの範囲が広すぎるという問題。パブリックであることと何の関係もない。
それにカプセル化は、隠さなくて良いものまで隠せと言ってるわけじゃない。
隠すもの(内部構造)と隠さななくて良いもの(インターフェース)を
きっちりワケましょう、それによってメンテナンス性が上がりますという概念
すべて隠さなくていいオブジェクトだって存在する。それはそうするのが正しいので
カプセル化を破壊してることにはならない。隠すべき内部構造がないと言うだけ。
なんで隠してなければ、カプセル化破壊だと思うんだろうか?
getter,setterってまたJavaの話をしてるんだろうけど、
それはJavaという言語にカプセル化を実現するための機能が不足してるから
規約でカバーしてるだけ。他のオブジェクト指向言語であれば
お前の言うgetter,setterが無い言語もある。
お前がオブジェクト指向を理解してない=お前が糞なのであって
それをオブジェクト指向のせいにするな。
あと知識が狭すぎる。Javaしか知らないんだろ。
135デフォルトの名無しさん
2019/10/13(日) 10:50:13.80ID:OAJhlsQO 俺も昔はグローバル変数についてそういう認識だったけど
そもそもスコープがどうであれ
ドキュメントに何もねぇ変数を把握する事自体
やってらんねぇよクソッタレって認識に変わった
本質はドキュメントに書いてないことが問題であって
スコープが仕様を形成するものであってはならない
そもそもスコープがどうであれ
ドキュメントに何もねぇ変数を把握する事自体
やってらんねぇよクソッタレって認識に変わった
本質はドキュメントに書いてないことが問題であって
スコープが仕様を形成するものであってはならない
136デフォルトの名無しさん
2019/10/13(日) 10:57:17.16ID:OhlF8Q6H >>135
イミフ。有名なオープンソースのコードを見て良いコードとは
コメントが書かれてないコードだと知ったほうが良いよ。
そんな物無くてもメンテナンスしやすいような構造になってる。
あとスコープが仕様を形成するなんて話は誰もしてない。
イミフ。有名なオープンソースのコードを見て良いコードとは
コメントが書かれてないコードだと知ったほうが良いよ。
そんな物無くてもメンテナンスしやすいような構造になってる。
あとスコープが仕様を形成するなんて話は誰もしてない。
137デフォルトの名無しさん
2019/10/13(日) 10:57:38.28ID:OhlF8Q6H × コメントが書かれてない
○ コメントが重要なところにしか書かれてない
○ コメントが重要なところにしか書かれてない
138デフォルトの名無しさん
2019/10/13(日) 10:59:10.44ID:0tGtu6dL コメントに頼らなくてもある程度理解できるコードと言いたいのでは?
コメントはあったらあったで助かるよ。
コメントはあったらあったで助かるよ。
139デフォルトの名無しさん
2019/10/13(日) 11:01:53.95ID:OAJhlsQO >>136
バカじゃん
テメーが考えたコメントをソースに書いてんのか?
コメントってのは設計書の文言をコピペしてこそ意味があるんだよ
ソースにあるコメントで設計書を検索してヒットしない成果物いりませぇん
バカじゃん
テメーが考えたコメントをソースに書いてんのか?
コメントってのは設計書の文言をコピペしてこそ意味があるんだよ
ソースにあるコメントで設計書を検索してヒットしない成果物いりませぇん
140デフォルトの名無しさん
2019/10/13(日) 11:15:03.63ID:HooVs/ny 設計書に書いてあるなら、どこそこの設計書見れでいいじゃん
コピペ作業に金払わされてるとか、経営者が可哀想でならん
コピペ作業に金払わされてるとか、経営者が可哀想でならん
141デフォルトの名無しさん
2019/10/13(日) 11:15:55.03ID:HooVs/ny どこそこの設計書見れって書いてないから、
設計書を"検索"するはめになるわけで(苦笑)
設計書を"検索"するはめになるわけで(苦笑)
142デフォルトの名無しさん
2019/10/13(日) 11:25:05.37ID:k83gxGBE143デフォルトの名無しさん
2019/10/13(日) 11:46:53.61ID:OAJhlsQO >>141
自己流で書いたコメントはそれすらできないからね
自己流で書いたコメントはそれすらできないからね
144デフォルトの名無しさん
2019/10/13(日) 11:54:13.80ID:HooVs/ny145デフォルトの名無しさん
2019/10/13(日) 11:55:34.36ID:0tGtu6dL なんか、凄まじい話の脱線風景を見てしまった...。
なんで>>135からコメントの書き方バトルに発展するのか...。
なんで>>135からコメントの書き方バトルに発展するのか...。
146デフォルトの名無しさん
2019/10/13(日) 11:58:21.06ID:MhpUZXHP やっぱオブジェクト指向ってクソだなw
147デフォルトの名無しさん
2019/10/13(日) 11:58:46.69ID:OAJhlsQO148デフォルトの名無しさん
2019/10/13(日) 12:00:10.60ID:0tGtu6dL149デフォルトの名無しさん
2019/10/13(日) 12:46:04.52ID:3vnN9KRU スレでさんざ書いてきたことだし
うえの議論のずれっぷり見ても十分理由だろう
うえの議論のずれっぷり見ても十分理由だろう
150デフォルトの名無しさん
2019/10/13(日) 12:55:49.57ID:3vnN9KRU 弊社にもいたよ、独特のオブジェクト指向論を持ち、
変な理屈こねて、これぞオブジェクト指向だと自説を押し付けたり
他人を批判したりして、チームの仕事を停滞させ
そのくせ、プログラムの開発をしてもらうとロクなコードが書けず、進捗が遅くて、
継承とメソッド呼び出しスパゲティーでバグだらけ
直る見込みがないので悪いけど間接部に移動してもらった。
変な理屈こねて、これぞオブジェクト指向だと自説を押し付けたり
他人を批判したりして、チームの仕事を停滞させ
そのくせ、プログラムの開発をしてもらうとロクなコードが書けず、進捗が遅くて、
継承とメソッド呼び出しスパゲティーでバグだらけ
直る見込みがないので悪いけど間接部に移動してもらった。
151デフォルトの名無しさん
2019/10/13(日) 12:57:06.58ID:0tGtu6dL いや、自分はさっきから議論がズレすぎてなんでOOPがクソ扱いされるのか未だに理解できないのだが。
台風が来た(わかる)→台風で死者が出た(わかる)→首相が悪い(は?)
並みに飛躍しすぎて意味不明なのだが。
どさくさに紛れてOOPをクソと結論付けるのはやめろよー。
台風が来た(わかる)→台風で死者が出た(わかる)→首相が悪い(は?)
並みに飛躍しすぎて意味不明なのだが。
どさくさに紛れてOOPをクソと結論付けるのはやめろよー。
152デフォルトの名無しさん
2019/10/13(日) 13:00:05.28ID:0tGtu6dL153デフォルトの名無しさん
2019/10/13(日) 13:00:24.46ID:3vnN9KRU いままでのレス読んで理解できないのは
読解力や個人の能力の問題。
それこそしらんがな
読解力や個人の能力の問題。
それこそしらんがな
154デフォルトの名無しさん
2019/10/13(日) 13:12:03.31ID:3vnN9KRU >>152
そだな、そういう痛々しい人の問題は別にしても
オブジェクトにどのような害があり、それを使ってソフトウエアのアーキテクチャ・構造の表現がしにくくて
大規模で複雑なシステムの構築上、人間が理解しにくいものが出来てしまうか
さんざ書いてきたが、読んでねーか、まともなあたまをもってねーか、、、
痛々しい人の問題はその上にかぶって存在し、オブジェクトの
局所的な一見便利そうで利点に見えるが
ある程度の規模の構造上 逆に欠点となる方法の押し売りなんだよ
オブジェクトとはなにか、どういうやり方こそオブジェクトとして正しいか
意見の応酬などは論点じゃないんだけれど、
そういう論点好きは、痛々しい人とほぼ同類
そだな、そういう痛々しい人の問題は別にしても
オブジェクトにどのような害があり、それを使ってソフトウエアのアーキテクチャ・構造の表現がしにくくて
大規模で複雑なシステムの構築上、人間が理解しにくいものが出来てしまうか
さんざ書いてきたが、読んでねーか、まともなあたまをもってねーか、、、
痛々しい人の問題はその上にかぶって存在し、オブジェクトの
局所的な一見便利そうで利点に見えるが
ある程度の規模の構造上 逆に欠点となる方法の押し売りなんだよ
オブジェクトとはなにか、どういうやり方こそオブジェクトとして正しいか
意見の応酬などは論点じゃないんだけれど、
そういう論点好きは、痛々しい人とほぼ同類
155デフォルトの名無しさん
2019/10/13(日) 13:22:03.21ID:JXLMY7ke コメントとコードであっても二重管理になって
同期が取れなくてトラブルのもとになるというのに
設計書とコメントとコードの三重管理とか気が狂いそうw
同期が取れなくてトラブルのもとになるというのに
設計書とコメントとコードの三重管理とか気が狂いそうw
156デフォルトの名無しさん
2019/10/13(日) 13:24:19.42ID:0tGtu6dL157デフォルトの名無しさん
2019/10/13(日) 13:25:10.20ID:3vnN9KRU たとえば、
カプセル化とは何かの解釈の幅によらず、
カプセル化によるスコープやアクセスの管理は、ぱっと見とても有効に見えるが
実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
規模に応じ急激に複雑さをまして
(レキシカなスコープ、エクステント管理に対し)
人間が管理把握しにくくなる因子であることは、
一定の理解を得られているはずだが
カプセル化とは何かの解釈の幅によらず、
カプセル化によるスコープやアクセスの管理は、ぱっと見とても有効に見えるが
実は大きな弱点を持っていて、依存のハブみたいな役割を果たし、
規模に応じ急激に複雑さをまして
(レキシカなスコープ、エクステント管理に対し)
人間が管理把握しにくくなる因子であることは、
一定の理解を得られているはずだが
158デフォルトの名無しさん
2019/10/13(日) 13:26:15.07ID:5t9LL7mJ そもそもオブジェクト指向なんて数字を上げたメリット説明できねぇんだから
他人を叩きのめすのに使えばいいんだよ
仕組みはどうあれ俺が気に入らないのでテメーは死刑だ
他人を叩きのめすのに使えばいいんだよ
仕組みはどうあれ俺が気に入らないのでテメーは死刑だ
159デフォルトの名無しさん
2019/10/13(日) 13:26:18.10ID:3vnN9KRU160デフォルトの名無しさん
2019/10/13(日) 13:27:38.97ID:3vnN9KRU161デフォルトの名無しさん
2019/10/13(日) 13:33:44.13ID:0tGtu6dL >>159
これが先に目についたのでこっちから答えるが、当然だろ。
スレタイは オブジェクト指向はクソかよ だ。
オブジェクト指向をまったく理解してないのにクソ呼ばわりはないだろ。
その大前提を崩すと、お前が非難しているのはOOPじゃなくてstaticおじさんの可能性すらあるんだよ?
痛々しい以前に論外過ぎるだろ。
正確な定義は理解していなかったとしても、自分ではこれがオブジェクト指向だという考えくらい持てよ。
これが先に目についたのでこっちから答えるが、当然だろ。
スレタイは オブジェクト指向はクソかよ だ。
オブジェクト指向をまったく理解してないのにクソ呼ばわりはないだろ。
その大前提を崩すと、お前が非難しているのはOOPじゃなくてstaticおじさんの可能性すらあるんだよ?
痛々しい以前に論外過ぎるだろ。
正確な定義は理解していなかったとしても、自分ではこれがオブジェクト指向だという考えくらい持てよ。
162デフォルトの名無しさん
2019/10/13(日) 13:40:37.70ID:3vnN9KRU まったく理解せず色々言うのはよくないが、
オブジェクト指向をまったく理解してないやつなんて
そもそもいるのかよw
それにOOP解釈によらずCでも頑張ってOOP的な書き方をしても
>>157
のような問題はでるんだぜ
細かく派生した、場合によって人さまざまなOOPの解釈の違いによらない
欠点があるといってんだが、読み取れないのか。。。
オブジェクト指向をまったく理解してないやつなんて
そもそもいるのかよw
それにOOP解釈によらずCでも頑張ってOOP的な書き方をしても
>>157
のような問題はでるんだぜ
細かく派生した、場合によって人さまざまなOOPの解釈の違いによらない
欠点があるといってんだが、読み取れないのか。。。
163デフォルトの名無しさん
2019/10/13(日) 13:42:49.52ID:5t9LL7mJ オブジェクト指向のメリットを定義してよ
って言うといつも逃げ出すじゃん
って言うといつも逃げ出すじゃん
164デフォルトの名無しさん
2019/10/13(日) 13:43:44.18ID:3vnN9KRU 方法論にずれちゃうんだよね
良くて局所的なメリット論
良くて局所的なメリット論
165デフォルトの名無しさん
2019/10/13(日) 13:43:50.79ID:bBavR94N >>158
> そもそもオブジェクト指向なんて数字を上げたメリット説明できねぇんだから
どのような数字を上げれば良いのですか?
オブジェクト指向以外で、数字を上げたメリット説明してるものを
参考として教えて下さい。
> そもそもオブジェクト指向なんて数字を上げたメリット説明できねぇんだから
どのような数字を上げれば良いのですか?
オブジェクト指向以外で、数字を上げたメリット説明してるものを
参考として教えて下さい。
166デフォルトの名無しさん
2019/10/13(日) 13:44:20.01ID:bBavR94N167デフォルトの名無しさん
2019/10/13(日) 13:45:47.26ID:3vnN9KRU 小さいプログラムだったらな。
168デフォルトの名無しさん
2019/10/13(日) 13:46:22.87ID:5t9LL7mJ >>166
だってそれお前の感想止まりじゃん
だってそれお前の感想止まりじゃん
169デフォルトの名無しさん
2019/10/13(日) 13:47:20.41ID:k83gxGBE だからオブジェクト指向は俺の股間に付いているってことなのさ!
170デフォルトの名無しさん
2019/10/13(日) 13:48:14.16ID:3vnN9KRU171デフォルトの名無しさん
2019/10/13(日) 14:01:26.96ID:0tGtu6dL >>163
逃げた覚えはないけどな。
まぁ、いいや。俺の意見だが。
思い付くメリットを列挙するとこんな感じだ。
(1)責務分割を行うため各コードの役割が明確になる。
→共同開発時、作業分担がしやすくなる。
→不具合が発生したとき、どこが悪いのか明確になる
(2)必要な数だけオブジェクトを複製できる。
→例えば...組み込み開発だが、USBオブジェクトがあったとして、USBポートを一つから四つに増やしたいとき
Usb usb[] = new Usb()[4];
といった記述で増やせる。
(3)ポリモーフィズムが可能
Storage s = new Usb();
...
s = new SDCard();
SDカード・USBの違いを区別することなくアクセス可能。
s.read(ファイル);
他にもメリットは腐る程あるが、そこは自分で調べてくれ。てか、質問スレでどうぞ。
逃げた覚えはないけどな。
まぁ、いいや。俺の意見だが。
思い付くメリットを列挙するとこんな感じだ。
(1)責務分割を行うため各コードの役割が明確になる。
→共同開発時、作業分担がしやすくなる。
→不具合が発生したとき、どこが悪いのか明確になる
(2)必要な数だけオブジェクトを複製できる。
→例えば...組み込み開発だが、USBオブジェクトがあったとして、USBポートを一つから四つに増やしたいとき
Usb usb[] = new Usb()[4];
といった記述で増やせる。
(3)ポリモーフィズムが可能
Storage s = new Usb();
...
s = new SDCard();
SDカード・USBの違いを区別することなくアクセス可能。
s.read(ファイル);
他にもメリットは腐る程あるが、そこは自分で調べてくれ。てか、質問スレでどうぞ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- たまにaカップの女いるけど何を楽しめばいいの?
