カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性」として「カプセル化は絶対にやめろ」としている。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
探検
カプセル化の有害性、オブジェクト指向は愚かな考え
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2020/06/18(木) 23:47:36.69ID:l/2SQUll952デフォルトの名無しさん
2020/07/05(日) 13:14:57.78ID:JiRnWiGC JavaScriptとかpythonとか、元々、クラスはサポートしていないのに?
プロトタイプベースはオブジェクト指向じゃないとでも?
プロトタイプベースはオブジェクト指向じゃないとでも?
953デフォルトの名無しさん
2020/07/05(日) 13:17:49.53ID:MQ9nuMmc >>951
えじゃねえよ、なめんなよ
えじゃねえよ、なめんなよ
954デフォルトの名無しさん
2020/07/05(日) 13:18:05.20ID:9F15TCk0 >>947
意味がないどころか、そこにしか意味がないんだよ。
それ「だけ」を見せるためのコードなんだから。staticとか
なら話の流れとなんにも関係がないのでそれこそ意味がない。
でもあえていうなら、そもそもまず連打が好きじゃ無い。自分ならループにするけど、
それだけでもない。
まず壊すようにテストすんの。null入れたり、変なオブジェクト入れたり。
で、privateをテストするんじゃなくて、要件通り動くかどうか。nullからint maxまで
回して、要件通りの結果が全てでくるか。変なオブジェクト入れたらどうか。
そういう感じ。
でも最初に書いたように、publicとprivateの話なんだから、そこで
エラーが出るか出ないかがないとこのスレ的にはなんの意味もない。
意味がないどころか、そこにしか意味がないんだよ。
それ「だけ」を見せるためのコードなんだから。staticとか
なら話の流れとなんにも関係がないのでそれこそ意味がない。
でもあえていうなら、そもそもまず連打が好きじゃ無い。自分ならループにするけど、
それだけでもない。
まず壊すようにテストすんの。null入れたり、変なオブジェクト入れたり。
で、privateをテストするんじゃなくて、要件通り動くかどうか。nullからint maxまで
回して、要件通りの結果が全てでくるか。変なオブジェクト入れたらどうか。
そういう感じ。
でも最初に書いたように、publicとprivateの話なんだから、そこで
エラーが出るか出ないかがないとこのスレ的にはなんの意味もない。
955デフォルトの名無しさん
2020/07/05(日) 13:18:37.20ID:MQ9nuMmc956デフォルトの名無しさん
2020/07/05(日) 13:19:41.30ID:9F15TCk0 クラスの存在はOOPの大事な部分だけど、OOPの言語を使ってもほとんどOOPでは
無いというのはよくある話。巨大クラス一個とかだと頭を抱える。
無いというのはよくある話。巨大クラス一個とかだと頭を抱える。
957デフォルトの名無しさん
2020/07/05(日) 13:22:07.34ID:MQ9nuMmc >>954
現実にありえない実装見せて、ほらね、と言われても僕は戸惑うばかり
そんな現実にありえないことを想定するからまずいんじゃないですかね
現実にそういうコード書いてるんじゃないかと僕はちょっと君のコーディング力を
疑わしく思ってきたのだけれども
public経由で、標準出力に出力するようなprivateコードを一生懸命テストしますか?
がんばり屋さんだなとは思うけど、効率悪くないですかね
現実にありえない実装見せて、ほらね、と言われても僕は戸惑うばかり
そんな現実にありえないことを想定するからまずいんじゃないですかね
現実にそういうコード書いてるんじゃないかと僕はちょっと君のコーディング力を
疑わしく思ってきたのだけれども
public経由で、標準出力に出力するようなprivateコードを一生懸命テストしますか?
がんばり屋さんだなとは思うけど、効率悪くないですかね
958デフォルトの名無しさん
2020/07/05(日) 13:22:29.69ID:MQ9nuMmc >>956
そんな極端な話ちゃうやろボケ
そんな極端な話ちゃうやろボケ
959デフォルトの名無しさん
2020/07/05(日) 13:24:13.83ID:JiRnWiGC そりゃ、クラスはオブジェクト指向を実現する上で便利だからね。大切な存在さ。でも、クラスなんて無くてもオブジェクト指向でコードは書けるし、逆に、クラスが合っても手続き型の記述をしたら、そりゃ、オブジェクト指向じゃねーわ。
つーか、クラスを使ったらオブジェクト指向ってマジで言ってる?
それってつまり、このスレで時々名前の出るstaticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
つーか、クラスを使ったらオブジェクト指向ってマジで言ってる?
それってつまり、このスレで時々名前の出るstaticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
960デフォルトの名無しさん
2020/07/05(日) 13:25:43.22ID:9F15TCk0 >>957
えーー、違うそうじゃ無い。多分君よくわかってない。
例なわけで実際にありえないとかありえる訳が無い。そんな話じゃ無いし
根本的な部分がわかってない。
publicでは問題がなく、private単体だと問題がでるコードなわけで。この意味はわかる?
えーー、違うそうじゃ無い。多分君よくわかってない。
例なわけで実際にありえないとかありえる訳が無い。そんな話じゃ無いし
根本的な部分がわかってない。
publicでは問題がなく、private単体だと問題がでるコードなわけで。この意味はわかる?
961デフォルトの名無しさん
2020/07/05(日) 13:29:16.63ID:MQ9nuMmc >>959
staticおじさんの元の話知ってる? 僕はリアルタイムであれを読んでたからよく知ってるんだけれども
staticおじさんは必要なところではオブジェクト作るよ、でもASP.NETのForm Applicationのフレームワークには
もともとリッチなオブジェクトが用意されてるから実務ではそれを組み合わせるだけで事足りることが多いよ
だからstaticメインで組み上げてオーケーさって話だったよ
オブジェクト指向信者がアホな前提置いて話を発散させただけでstaticおじさんが言ってることはわりあいまともだった
こういう議論の場で神クラスを引き合いに出して批判するという極端なことやって意味があるのかなと僕は疑問ですね
staticおじさんの元の話知ってる? 僕はリアルタイムであれを読んでたからよく知ってるんだけれども
staticおじさんは必要なところではオブジェクト作るよ、でもASP.NETのForm Applicationのフレームワークには
もともとリッチなオブジェクトが用意されてるから実務ではそれを組み合わせるだけで事足りることが多いよ
だからstaticメインで組み上げてオーケーさって話だったよ
オブジェクト指向信者がアホな前提置いて話を発散させただけでstaticおじさんが言ってることはわりあいまともだった
こういう議論の場で神クラスを引き合いに出して批判するという極端なことやって意味があるのかなと僕は疑問ですね
962デフォルトの名無しさん
2020/07/05(日) 13:30:55.04ID:JiRnWiGC いや、そもそもstaticおじさんのコードはオブジェクト指向でも何でもねーよ!
話反らすな。
話反らすな。
963デフォルトの名無しさん
2020/07/05(日) 13:32:41.77ID:MQ9nuMmc >>962
staticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
と君が聞いたからstaticおじさんに対する僕の所見を述べたつもり
ASP.NETのオブジェクトを使ってるならオブジェクト指向でしょ
オブジェクト指向が為せる技だと思うよ
staticおじさんの書いたコードもオブジェクト指向だと言い張るつもり?
と君が聞いたからstaticおじさんに対する僕の所見を述べたつもり
ASP.NETのオブジェクトを使ってるならオブジェクト指向でしょ
オブジェクト指向が為せる技だと思うよ
964デフォルトの名無しさん
2020/07/05(日) 13:33:02.71ID:MQ9nuMmc オブジェクト指向便利だよね
965デフォルトの名無しさん
2020/07/05(日) 13:33:43.81ID:9F15TCk0 コードあげてくれるのは偉いと思うので気がひけるのだが、上のコードは
privateとpublicの違いを表すための部分がまるですっぽ抜けてるし、そもそも
staticだし結構それ自体staticおじさん感がある。すまんw
privateとpublicの違いを表すための部分がまるですっぽ抜けてるし、そもそも
staticだし結構それ自体staticおじさん感がある。すまんw
966デフォルトの名無しさん
2020/07/05(日) 13:33:52.51ID:JiRnWiGC >>963
ちげーよ。ASPがオブジェクト指向であって、staticおじさんのコードはオブジェクト指向でも何でもねーよ。
ちげーよ。ASPがオブジェクト指向であって、staticおじさんのコードはオブジェクト指向でも何でもねーよ。
967デフォルトの名無しさん
2020/07/05(日) 13:37:13.08ID:MQ9nuMmc >>966
でもASP.NETのフレームワークがオブジェクト用意してなかったらstaticおじさんはコード書けなかったと思うし
staticおじさんのコードはオブジェクト指向を有効的に活用した非常に優れたコードだと思いますよ
必要もないのにオブジェクト作るのはアホですわ
でもASP.NETのフレームワークがオブジェクト用意してなかったらstaticおじさんはコード書けなかったと思うし
staticおじさんのコードはオブジェクト指向を有効的に活用した非常に優れたコードだと思いますよ
必要もないのにオブジェクト作るのはアホですわ
968デフォルトの名無しさん
2020/07/05(日) 13:38:05.15ID:MQ9nuMmc staticおじさんは必要な場面ではオブジェクト作るっていってるからねー
僕はstaticおじさんに詳しいんだ
僕はstaticおじさんに詳しいんだ
969デフォルトの名無しさん
2020/07/05(日) 13:38:11.20ID:9F15TCk0 神のGTO感があるw
970デフォルトの名無しさん
2020/07/05(日) 13:40:17.58ID:MQ9nuMmc 物事の本質を見誤ると道を踏み外すよ
状態に依存してないのにインスタンスメソッドにしたりとか
staticメソッドを定義したらstaticおじさんと言ったりとか
そういうバカのできあがりですよ
状態に依存してないのにインスタンスメソッドにしたりとか
staticメソッドを定義したらstaticおじさんと言ったりとか
そういうバカのできあがりですよ
971デフォルトの名無しさん
2020/07/05(日) 13:40:37.05ID:JiRnWiGC972デフォルトの名無しさん
2020/07/05(日) 13:42:50.97ID:MQ9nuMmc >>971
何が気に入らなくて僕に絡んでるのかわからないですが
クラスがオブジェクト指向の本質であることには変わりないですよ
クラスとはデータと処理をセットにして持つことができるものです
クラスを定義することこそがオブジェクト指向の本質です
何が気に入らなくて僕に絡んでるのかわからないですが
クラスがオブジェクト指向の本質であることには変わりないですよ
クラスとはデータと処理をセットにして持つことができるものです
クラスを定義することこそがオブジェクト指向の本質です
973デフォルトの名無しさん
2020/07/05(日) 13:44:43.62ID:MQ9nuMmc 責務ごとにオブジェクトをわけましょうなんていうのは
オブジェクト指向でプログラミングすることを前提にした設計論でしか無いです
クラスの存在こそがオブジェクト指向の本質です
オブジェクト指向でプログラミングすることを前提にした設計論でしか無いです
クラスの存在こそがオブジェクト指向の本質です
974デフォルトの名無しさん
2020/07/05(日) 13:45:21.93ID:JiRnWiGC975デフォルトの名無しさん
2020/07/05(日) 13:47:18.05ID:MQ9nuMmc976デフォルトの名無しさん
2020/07/05(日) 13:47:27.85ID:JiRnWiGC977デフォルトの名無しさん
2020/07/05(日) 13:52:06.41ID:JiRnWiGC >>975
まぁ、いいさ。これ以上は不毛だ。スレも終わるし。
俺は俺の思う正しいオブジェクト指向で今後も楽をさせてもらうよ。
そっちも、そっちの思うオブジェクト指向とやらを使い続けるがいい。
成果が出た方が正義だ。
まぁ、いいさ。これ以上は不毛だ。スレも終わるし。
俺は俺の思う正しいオブジェクト指向で今後も楽をさせてもらうよ。
そっちも、そっちの思うオブジェクト指向とやらを使い続けるがいい。
成果が出た方が正義だ。
978デフォルトの名無しさん
2020/07/05(日) 13:55:35.80ID:h7Qz+vpg オブジェクト指向だから髪型は自由なのさ
彡 ⌒ ミ
(´・ω・`) 不毛とかいうな!
彡 ⌒ ミ
(´・ω・`) 不毛とかいうな!
979デフォルトの名無しさん
2020/07/05(日) 13:56:22.57ID:MQ9nuMmc ハゲに謝るべき
980デフォルトの名無しさん
2020/07/05(日) 13:56:24.62ID:VS9zJ3bZ よし
話を一度整理しよう
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
話を一度整理しよう
privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
981デフォルトの名無しさん
2020/07/05(日) 14:06:22.83ID:MQ9nuMmc ナイスな整理と言わざるを得ない
議論もリファクタリング可能であることを如実に示した
議論もリファクタリング可能であることを如実に示した
982デフォルトの名無しさん
2020/07/05(日) 14:09:58.85ID:MQ9nuMmc >>976
僕のコードはオブジェクト指向ですよ
そこんとこよろしくですよ
オブジェクトをどう分けるかって話はありますよ
しかし、それとは独立してオブジェクトは存在するので
オブジェクトを定義できるクラスの存在そのものがオブジェクト指向の本質なわけです
だからオブジェクト指向言語にはクラスが存在します
生物学の類、目のようなものです、どう分類するかは副次的な話であって
分類できることこそが最も重要な事柄です
僕のコードはオブジェクト指向ですよ
そこんとこよろしくですよ
オブジェクトをどう分けるかって話はありますよ
しかし、それとは独立してオブジェクトは存在するので
オブジェクトを定義できるクラスの存在そのものがオブジェクト指向の本質なわけです
だからオブジェクト指向言語にはクラスが存在します
生物学の類、目のようなものです、どう分類するかは副次的な話であって
分類できることこそが最も重要な事柄です
983デフォルトの名無しさん
2020/07/05(日) 14:18:27.81ID:9F15TCk0 正直あの短さでOOかどうかと(スタティックでインスタンス化もないコードだが)言うのは
不毛だけどID:JiRnWiGCの組み込みおじさんのがOO感はあるよ。
で、staticで出されてもprivateのテストがどうかと言う話には全く寄与しないわけだが、
じゃあ逆に、>>805のチンコテストのfuncSとfuncBはどうやってテストするの?
パブリック経由で全パターンと言うことならこれでこの話はおしまい。
パブリック経由でやりましょう。
違うと言うなら具体的にコードでおながいします。
smallestを9じゃなくて8にしろとかいう苦情は受け付けますw
不毛だけどID:JiRnWiGCの組み込みおじさんのがOO感はあるよ。
で、staticで出されてもprivateのテストがどうかと言う話には全く寄与しないわけだが、
じゃあ逆に、>>805のチンコテストのfuncSとfuncBはどうやってテストするの?
パブリック経由で全パターンと言うことならこれでこの話はおしまい。
パブリック経由でやりましょう。
違うと言うなら具体的にコードでおながいします。
smallestを9じゃなくて8にしろとかいう苦情は受け付けますw
984デフォルトの名無しさん
2020/07/05(日) 14:23:34.49ID:MQ9nuMmc985デフォルトの名無しさん
2020/07/05(日) 14:24:31.67ID:MQ9nuMmc クラスにしてもメソッドにしても責務でわけないと
行数が50行超えたから分割しなければみたいなアホなことやってるのはアホですわ
行数が50行超えたから分割しなければみたいなアホなことやってるのはアホですわ
986デフォルトの名無しさん
2020/07/05(日) 14:25:15.84ID:JiRnWiGC (組み込みおじさんじゃないんだけどな...組み込みもやるけど)
987デフォルトの名無しさん
2020/07/05(日) 14:26:22.88ID:MQ9nuMmc >>986
器用ですね、じゃあ僕との仲直りもすぐにできそうですね
器用ですね、じゃあ僕との仲直りもすぐにできそうですね
988デフォルトの名無しさん
2020/07/05(日) 14:28:26.22ID:9F15TCk0989デフォルトの名無しさん
2020/07/05(日) 14:30:37.73ID:MQ9nuMmc >>988
staticにしたのは状態に依存してないからですね
staticにしたのは状態に依存してないからですね
990デフォルトの名無しさん
2020/07/05(日) 14:31:51.93ID:9F15TCk0 下痢便君は10代後半から20代前半というところかなあ。
ウンコチンコのレベルと絡んでてもおじさんあんまり面白く無いんだよね。
自分でチンコテストのコードあげたけどw
でもコードあげたのは偉いと思うので頑張ってね。
ウンコチンコのレベルと絡んでてもおじさんあんまり面白く無いんだよね。
自分でチンコテストのコードあげたけどw
でもコードあげたのは偉いと思うので頑張ってね。
991デフォルトの名無しさん
2020/07/05(日) 14:33:06.78ID:JiRnWiGC あー、組み込みおじさんにも解るように だよ。
俺自身、組み込みもやるからややこしいが、ずっと前に登場した組み込みおじさんとは別人だよ。
まぁ、慌てて書いたから余計な発言だったか。
もう、この際OOPの利点さえ感じていればなんでもいいことにするよ。
スレも少ないし、ヒートダウンしたし。
俺自身、組み込みもやるからややこしいが、ずっと前に登場した組み込みおじさんとは別人だよ。
まぁ、慌てて書いたから余計な発言だったか。
もう、この際OOPの利点さえ感じていればなんでもいいことにするよ。
スレも少ないし、ヒートダウンしたし。
992デフォルトの名無しさん
2020/07/05(日) 14:33:34.85ID:MQ9nuMmc >>990
僕まだ小学生でちゅ
僕まだ小学生でちゅ
993デフォルトの名無しさん
2020/07/05(日) 14:35:03.91ID:9F15TCk0 あー組み込みおじさん(固有名詞)が居たのね。一般名詞のつもりでした。
この板昨日からなので。
この板昨日からなので。
994デフォルトの名無しさん
2020/07/05(日) 14:35:40.42ID:9F15TCk0 >>992
偉いねえ。
偉いねえ。
995デフォルトの名無しさん
2020/07/05(日) 14:37:40.20ID:MQ9nuMmc 参照透明なメソッドだとテストしやすいしバグの混入も減らせるのでおすすめ!
間違っても>>805こんな下痢便分割しちゃダメ
間違っても>>805こんな下痢便分割しちゃダメ
996デフォルトの名無しさん
2020/07/05(日) 14:38:27.28ID:9F15TCk0 しかし小学生の下痢便君とかと話ててもこっちは損するばかりだしなあ。
マジで。しかも下痢便君はましな方な可能性さえあるし。
予想以上だった、この板。マジやばい。ASP.NETのオブジェクトを使ってるなら
オブジェクト指向だし。
マジで。しかも下痢便君はましな方な可能性さえあるし。
予想以上だった、この板。マジやばい。ASP.NETのオブジェクトを使ってるなら
オブジェクト指向だし。
997デフォルトの名無しさん
2020/07/05(日) 14:38:41.11ID:MQ9nuMmc >>993
マジで!? ID:gS37C1rZ これ絶対君だと思ってた、言ってること薄っぺらいしアホだし
マジで!? ID:gS37C1rZ これ絶対君だと思ってた、言ってること薄っぺらいしアホだし
998デフォルトの名無しさん
2020/07/05(日) 14:42:18.59ID:h7Qz+vpg 不毛
彡 ⌒ ミ
(´・ω・`)
彡 ⌒ ミ
(´・ω・`)
999デフォルトの名無しさん
2020/07/05(日) 14:43:23.60ID:9F15TCk0 >>997
マジで某アメリカの誰でも知ってるとこの中の人だよ。
日本人あんまり居ないので、これ以上はやばいからどこだか
下痢便君に教えるわけが無いけど。
インデントとか言ってたの君だっけ?
そんなくだらない(しかも的外れな)揚げ足取りじゃなくて、
君のコード、根本的なとこに問題あるんだけど、わからない人に
わかれと言ってもわからないだろうからなあ。
ちゃんとOOをやったらわかるかも。頑張ってね。下痢便君w
マジで某アメリカの誰でも知ってるとこの中の人だよ。
日本人あんまり居ないので、これ以上はやばいからどこだか
下痢便君に教えるわけが無いけど。
インデントとか言ってたの君だっけ?
そんなくだらない(しかも的外れな)揚げ足取りじゃなくて、
君のコード、根本的なとこに問題あるんだけど、わからない人に
わかれと言ってもわからないだろうからなあ。
ちゃんとOOをやったらわかるかも。頑張ってね。下痢便君w
1000デフォルトの名無しさん
2020/07/05(日) 14:43:28.02ID:MQ9nuMmc >>998
ハゲて頑張っておられる方にお詫び申し上げます
ハゲて頑張っておられる方にお詫び申し上げます
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 16日 14時間 55分 52秒
新しいスレッドを立ててください。
life time: 16日 14時間 55分 52秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 🏡
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 飲みの約束だるい
- 減税は低所得者差別
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
- 元無職「お世話になりました」
