オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
オブジェクト指向を教えてくれ!★2
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2021/04/27(火) 15:02:28.94ID:mH9VXFld955デフォルトの名無しさん
2023/03/31(金) 20:25:47.08ID:b5Rzt99g >>954
くそみたいなこと書くな。むしろ消せ。
くそみたいなこと書くな。むしろ消せ。
956デフォルトの名無しさん
2023/03/31(金) 20:46:40.65ID:b5Rzt99g >>954
その自警がなりすましで書き込んでんじゃねえの?
その自警がなりすましで書き込んでんじゃねえの?
957デフォルトの名無しさん
2023/03/31(金) 22:38:32.19ID:tuQW77Kc958デフォルトの名無しさん
2023/03/31(金) 22:44:18.08ID:v8h2cPZG959デフォルトの名無しさん
2023/03/31(金) 22:54:35.82ID:b5Rzt99g >>954,958
「クラスはもともとダイクストラの構造化プログラミングにおける技法として出てきたのでその点を記述したかった。狭義の構造化プログラミングはプログラムの計算プロセスをフローチャートで書き表すことに主眼がある。だからgoto文はフローチャートで規則的に表すことができない(フローチャートの規則をぶっ壊す)ので有害とされたといえる。一方で、フローチャートの規則をぶっ壊すわけではないが、フローチャートで規則的に表すことができないプログラムコードというものとしてコルーチンなどの並列プロセスを含むプログラムが言える。クラスを使うオブジェクト指向プログラミングでフローチャートがほとんど無意味で設計にはUMLなどを使用するという事実はここに起因している、ということを出典付きで記載することを計画していた。」
「クラス = ブロックの構文であるという大前提を記載して欲しい(某言語の批判とかはいらん)。オブジェクト指向プログラミングでは、「オブジェクトとはなにか?」という結論は出ないが構造化プログラミングの枠内ではダールがはっきりとオブジェクトとはなにかということを定義しており、直接的ではないもののオブジェクトの素性について納得する説明が可能であるはずなのでそこを記載して欲しい。」
リンク先読んでみたがここコピーだろ。なんで動機部分をコピーすんだよ。
本人ならそのウンチク書くだろ。
「クラスはもともとダイクストラの構造化プログラミングにおける技法として出てきたのでその点を記述したかった。狭義の構造化プログラミングはプログラムの計算プロセスをフローチャートで書き表すことに主眼がある。だからgoto文はフローチャートで規則的に表すことができない(フローチャートの規則をぶっ壊す)ので有害とされたといえる。一方で、フローチャートの規則をぶっ壊すわけではないが、フローチャートで規則的に表すことができないプログラムコードというものとしてコルーチンなどの並列プロセスを含むプログラムが言える。クラスを使うオブジェクト指向プログラミングでフローチャートがほとんど無意味で設計にはUMLなどを使用するという事実はここに起因している、ということを出典付きで記載することを計画していた。」
「クラス = ブロックの構文であるという大前提を記載して欲しい(某言語の批判とかはいらん)。オブジェクト指向プログラミングでは、「オブジェクトとはなにか?」という結論は出ないが構造化プログラミングの枠内ではダールがはっきりとオブジェクトとはなにかということを定義しており、直接的ではないもののオブジェクトの素性について納得する説明が可能であるはずなのでそこを記載して欲しい。」
リンク先読んでみたがここコピーだろ。なんで動機部分をコピーすんだよ。
本人ならそのウンチク書くだろ。
960デフォルトの名無しさん
2023/03/31(金) 22:58:08.66ID:b5Rzt99g どうでもいいがスレ違い。
Wikipediaに書きたいならてめえでやれ。
Wikipediaに書きたいならてめえでやれ。
961デフォルトの名無しさん
2023/03/31(金) 23:06:18.57ID:cSEViIV3 const wiki = new wikiPedia();
962デフォルトの名無しさん
2023/04/02(日) 14:35:28.75ID:Pu7bAi6b フローチャートみたいな図はプログラムを理解しやすくするためのものであって、
フローチャートで表したいから構造化プログラミングしてるわけじゃないだろ
GOTO禁止は分岐を限定して処理のパターンを減らしたいだけで、
別にフローチャートで書こうと思えば書ける
フローチャートで表したいから構造化プログラミングしてるわけじゃないだろ
GOTO禁止は分岐を限定して処理のパターンを減らしたいだけで、
別にフローチャートで書こうと思えば書ける
963デフォルトの名無しさん
2023/04/02(日) 19:31:41.47ID:y7KvAD2F フローチャートとかスレ違い。
また自警か。wikiでやってろ。ここはそんな場所じゃねえんだぞ。
また自警か。wikiでやってろ。ここはそんな場所じゃねえんだぞ。
964デフォルトの名無しさん
2023/04/18(火) 08:35:30.40ID:7G0k8gAq オブジェクト指向ってしっくり来ないんですよね
965デフォルトの名無しさん
2023/04/19(水) 06:25:03.80ID:JuzG8p8m 勝手にやってくれるやん
966デフォルトの名無しさん
2023/04/21(金) 10:07:47.57ID:thuL8w+F 最近のC#とか、どのクラスにも共通のメソッドあるやん?
あれがOOPLの醍醐味だよな
あれがOOPLの醍醐味だよな
967デフォルトの名無しさん
2023/04/29(土) 09:37:56.72ID:UtcdTJXg オブジェクト指向の既存コードが理解できません
謎のインスタンスがあり、謎のインスタンスから謎のメソッドに別の謎のインスタンスを引数として実行する
謎のインスタンスが戻り値として返る
謎のメソッドの中を覗いて見ても、やっぱり謎のインスタンスから謎のメソッドを実行するだけのコードが出てくる
フィールドになんかの値をセットするだけで終わり、みたいになってる
数値や文字列ならprintすればどんなデータを処理してるか分かるけど
インスタンスはこの変数をどうしたいのかが分からない
このインスタンスからメソッドを実行したり、フィールドになんかの値をセットしてるコードはあるけどそれを何の目的でやってるのか、そうすることで何が起きるのかよく分からない
そして一番謎なのはメソッドの中身の定義にどんどん移動していくと中身がない空のメソッドに到達してしまい、「あれ?」って迷子になってしまうこと
これが一番困ってる
謎のインスタンスがあり、謎のインスタンスから謎のメソッドに別の謎のインスタンスを引数として実行する
謎のインスタンスが戻り値として返る
謎のメソッドの中を覗いて見ても、やっぱり謎のインスタンスから謎のメソッドを実行するだけのコードが出てくる
フィールドになんかの値をセットするだけで終わり、みたいになってる
数値や文字列ならprintすればどんなデータを処理してるか分かるけど
インスタンスはこの変数をどうしたいのかが分からない
このインスタンスからメソッドを実行したり、フィールドになんかの値をセットしてるコードはあるけどそれを何の目的でやってるのか、そうすることで何が起きるのかよく分からない
そして一番謎なのはメソッドの中身の定義にどんどん移動していくと中身がない空のメソッドに到達してしまい、「あれ?」って迷子になってしまうこと
これが一番困ってる
968デフォルトの名無しさん
2023/04/29(土) 09:52:57.59ID:ItseuRzP 実際のコード例を2~3個あげてくれないとそれだけだと理解を妨げてる本当の理由はわからないかな
969デフォルトの名無しさん
2023/04/29(土) 10:26:58.08ID:7o70JIXk APIドキュメント見てる?
https://docs.oracle.com/javase/jp/8/docs/api/
こういうやつ
Visual Studioの支援でソースをおっかけるのもいいけど
文書としてまとまってるのを読んだほうがコードの意図は分かるかと
自前のソースの場合はDoxygenみたいなツールでAPIをドキュメント化しておくと
みんなで知識を共有できていいよ
https://docs.oracle.com/javase/jp/8/docs/api/
こういうやつ
Visual Studioの支援でソースをおっかけるのもいいけど
文書としてまとまってるのを読んだほうがコードの意図は分かるかと
自前のソースの場合はDoxygenみたいなツールでAPIをドキュメント化しておくと
みんなで知識を共有できていいよ
970デフォルトの名無しさん
2023/04/29(土) 11:38:00.87ID:7kLNqYqu >>967
クイックソートやバイナリサーチのような汎用的なアルゴリズムとは違って、
アプリに近ければ近いほどプログラムの目的はコードを読んでもわからないよ
特に企業で使われるシステムは業務知識を知ってないと読んでも無駄だよ
クイックソートやバイナリサーチのような汎用的なアルゴリズムとは違って、
アプリに近ければ近いほどプログラムの目的はコードを読んでもわからないよ
特に企業で使われるシステムは業務知識を知ってないと読んでも無駄だよ
971デフォルトの名無しさん
2023/04/29(土) 15:34:14.84ID:1/XooGKC972デフォルトの名無しさん
2023/04/29(土) 19:47:07.71ID:UtcdTJXg973デフォルトの名無しさん
2023/04/29(土) 22:07:10.28ID:K6qb0jTC クソコードじゃない前提ならレイヤーの分け方の意味や役割分担を理解してない可能性が高いな
どぅちにしろ分からないと言ってるコード例を出さないと話にならん
どぅちにしろ分からないと言ってるコード例を出さないと話にならん
974デフォルトの名無しさん
2023/04/29(土) 23:26:13.99ID:7kLNqYqu >>972
めんどくさいけど推測してやるか、しょうがねえな
たぶん中身のないメソッドってのはスーパークラスのデフォルト実装だろう
サブクラスのインスタンスをスーパークラスの型で渡すのはよくある設計だよ
呼び出し元をたどればインスタンス化してるサブクラスがわかるはずだから、
オーバーライドしてるメソッドを読めば実際に何してるかわかるんじゃね
めんどくさいけど推測してやるか、しょうがねえな
たぶん中身のないメソッドってのはスーパークラスのデフォルト実装だろう
サブクラスのインスタンスをスーパークラスの型で渡すのはよくある設計だよ
呼び出し元をたどればインスタンス化してるサブクラスがわかるはずだから、
オーバーライドしてるメソッドを読めば実際に何してるかわかるんじゃね
975デフォルトの名無しさん
2023/04/29(土) 23:28:31.86ID:1/XooGKC 多分この人は解決を求めてるんじゃなくて愚痴を聞いて欲しいんだと思う
976デフォルトの名無しさん
2023/04/29(土) 23:33:59.25ID:7kLNqYqu なにそれうざいんだけど 死ねばいいのに
977デフォルトの名無しさん
2023/04/29(土) 23:39:48.62ID:9r/sK/L7978デフォルトの名無しさん
2023/04/30(日) 20:21:34.69ID:c/8nIlPL どうせgithubにすら上がってないオレオレライブラリの話じゃね?
979デフォルトの名無しさん
2023/05/05(金) 16:18:51.69ID:iwKPqxU+ Debugビルド時は動的ディスパッチ、Releaseビルド時は静的ディスパッチって
切り替えられる言語ないかな?あったらテストしやすくて、実行コストもなくせると思う
切り替えられる言語ないかな?あったらテストしやすくて、実行コストもなくせると思う
980デフォルトの名無しさん
2023/05/05(金) 18:28:13.24ID:4XkoXGUj テストの手間が2倍になるよね
当然静的ディスパッチでも上手く動く事をテストで確認するんだよね。その動作が意図通りでないときはどうやってデバッグするのよw
当然静的ディスパッチでも上手く動く事をテストで確認するんだよね。その動作が意図通りでないときはどうやってデバッグするのよw
981デフォルトの名無しさん
2023/05/05(金) 18:36:55.17ID:kWlF9XkU 動的ディスパッチだとテストしやすくなると思ってる理由がそもそも謎
982デフォルトの名無しさん
2023/05/05(金) 21:18:25.11ID:4XkoXGUj 知らんけどディペンデンシーインジェクションとか、開発対象の周辺を好きなヤツだけニセに置き換える想定だったのでは
でも動的~だけじゃ万事解決はせんよ、と。そして静的~でも周辺を置き換える技法はある。GoogleTestでもできるよ
でも動的~だけじゃ万事解決はせんよ、と。そして静的~でも周辺を置き換える技法はある。GoogleTestでもできるよ
983デフォルトの名無しさん
2023/05/12(金) 22:06:16.05ID:+3Auf0UC そもそもそんな切り替えが出来るかどうかは言語次第じゃないの?
実装を全く変えるならどの言語でも出来るだろうけど
意図が分からんし開発も静的でいいやんw
仮想関数とか殆どのもので使う必要無いし
実装を全く変えるならどの言語でも出来るだろうけど
意図が分からんし開発も静的でいいやんw
仮想関数とか殆どのもので使う必要無いし
984デフォルトの名無しさん
2023/05/12(金) 22:08:55.80ID:fbUS3y9B オブジェクト指向なら動的になるのは仕方ないだろ
985デフォルトの名無しさん
2023/06/08(木) 12:25:04.86ID:WcEL2gvj 上司から毎日のように仕事しろとメッセージが届くが、仕事したためしがない。
俺.仕事しろ(“上司”) #=> nil(null)
俺.仕事しろ(“上司”) #=> nil(null)
986デフォルトの名無しさん
2023/06/08(木) 12:33:31.41ID:rxjbLVG0 俺.仕事しろ(“上司”)
error: undefined method
error: undefined method
987デフォルトの名無しさん
2023/06/08(木) 17:31:48.99ID:U7kkrrgt >>986
仕事してないならコッチだな
仕事してないならコッチだな
988デフォルトの名無しさん
2023/06/08(木) 18:01:08.30ID:lD5XXd8P レビュー指摘
> 仕事しろ()
仕事しろって何の仕事だか不明、後々修正する人が迷うポイントになるので具体的な仕事名を含むように再設計して下さい
> ("上司")
「呼び元がどこか」をパラメータに含めて動作を変えるのは良い設計じゃない。やりたくなる事がたまにあるのは知ってるけど、本当は何で分岐したいのか再検討して下さい
佐々木::上司 が
矢島::部下 に
矢島.設計書初回レビュー(どの設計書か, 希望期限);
とか。
(所感:一人でオブジェクト指向を語れるレベルに達していないのでメンターを付ける必要がある)
> 仕事しろ()
仕事しろって何の仕事だか不明、後々修正する人が迷うポイントになるので具体的な仕事名を含むように再設計して下さい
> ("上司")
「呼び元がどこか」をパラメータに含めて動作を変えるのは良い設計じゃない。やりたくなる事がたまにあるのは知ってるけど、本当は何で分岐したいのか再検討して下さい
佐々木::上司 が
矢島::部下 に
矢島.設計書初回レビュー(どの設計書か, 希望期限);
とか。
(所感:一人でオブジェクト指向を語れるレベルに達していないのでメンターを付ける必要がある)
989デフォルトの名無しさん
2023/06/08(木) 18:09:44.45ID:lD5XXd8P 俺のタスクリスト.追加("次週のリーダー会議の前に山本部長を喫煙所で捕まえてメンターの件相談しとく", 期間見積もり, メンター候補者配列)
990デフォルトの名無しさん
2023/06/08(木) 18:14:09.52ID:U7kkrrgt >>988
お陰で唇のひび割れが治ったよ、ありがとう
お陰で唇のひび割れが治ったよ、ありがとう
991デフォルトの名無しさん
2023/06/08(木) 18:57:31.77ID:lD5XXd8P 俺のタスクリスト.追加("佐々木に仕事内容は具体的に指示、伝わったか相手の言葉で復唱させろって教える")
// やっぱり佐々木に部下付けるのはまだ早いか…
// やっぱり佐々木に部下付けるのはまだ早いか…
992デフォルトの名無しさん
2023/06/08(木) 19:08:45.73ID:lD5XXd8P ひらめいた
主人公の年齢、役職、や、周辺キャラクターの人物設定などした上で、日本語コーディング風に物語を書いてアマゾンで発表する方法に関する技法
で特許申請
物語の途中でシステム障害が発生したとかイベント発生し文体も変える
障害を乗り越えて通常稼働に戻り物語が終わる
メインターゲット読者はプログラマー職で日々苦労してるひと
主人公の年齢、役職、や、周辺キャラクターの人物設定などした上で、日本語コーディング風に物語を書いてアマゾンで発表する方法に関する技法
で特許申請
物語の途中でシステム障害が発生したとかイベント発生し文体も変える
障害を乗り越えて通常稼働に戻り物語が終わる
メインターゲット読者はプログラマー職で日々苦労してるひと
993デフォルトの名無しさん
2023/06/09(金) 20:01:11.78ID:1YLNNEbM ume
994デフォルトの名無しさん
2023/06/10(土) 13:44:25.34ID:vaWXep+1 拾い物
hayabusa9
/test/read.cgi/news/1686317428/
あたおか
hayabusa9
/test/read.cgi/news/1686308209/
hayabusa9
/test/read.cgi/news/1686317428/
あたおか
hayabusa9
/test/read.cgi/news/1686308209/
995デフォルトの名無しさん
2023/06/12(月) 13:24:10.95ID:Zpvo7VcB ありがとう
996デフォルトの名無しさん
2023/06/12(月) 13:24:25.64ID:Zpvo7VcB UME
997デフォルトの名無しさん
2023/06/12(月) 13:33:58.28ID:Zpvo7VcB 、
998デフォルトの名無しさん
2023/06/12(月) 13:42:38.53ID:Zpvo7VcB 、
999デフォルトの名無しさん
2023/06/12(月) 13:42:47.73ID:Zpvo7VcB ありがとう
1000デフォルトの名無しさん
2023/06/12(月) 13:42:57.71ID:Zpvo7VcB そしてさようなら…
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 775日 22時間 40分 30秒
新しいスレッドを立ててください。
life time: 775日 22時間 40分 30秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【音楽】aiko(50)の姿に騒然「どしたん?」「震えた」「泣いた」「びっくりする」「なんで…」結婚発表から4年 [Ailuropoda melanoleuca★]
- 【画像】消えた美人女優 上原多香子さん(42)、沖縄で目撃される [牛丼★]
- 自民党稲田朋美、法務大臣にブチギレ 「高市早苗の再審法案は無罪の証拠隠し放題でクソ」 [175344491]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 首相官邸の偽サイトが確認される。偽物は国民に被害を与えてくる可能性があるので注意を [573472858]
- 「日中緊張状態の責任は?」高市首相「まず私たちが誇りに思わなければならないのは、戦後、日本は世界の平和に貢献をし歩んできた」 [115996789]
