オブジェクト指向を教えてくれ!★2

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2021/04/27(火) 15:02:28.94ID:mH9VXFld
オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。

・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)

・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)

・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?

・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
940デフォルトの名無しさん
垢版 |
2023/01/14(土) 13:40:06.25ID:HOJEL//m
https://mobile.twitter.com/sugimoto_kei/status/1594534840501575680

杉本啓
@sugimoto_kei
オブジェクト指向言語の機構としての多態を説明する上でイヌ・ネコのたとえがよいとは思わない。だけど、そのせいで多態の使い方がわからなかった、今もわからない、というひとは、単にプログラミングの素質がないから、早めに別の道に行った方がいいですよ。
https://twitter.com/5chan_nel (5ch newer account)
941デフォルトの名無しさん
垢版 |
2023/01/19(木) 18:54:20.66ID:r5BRXpsa
一般にどんな数学の分野でも複雑で難しいものが重要なのではなく、もっと手近にあって簡単に見えるものが重要である場合が多い。
そして簡単に見えるものが案外難しいのである。
https://takataninote.com/book/shimura.html
942デフォルトの名無しさん
垢版 |
2023/01/19(木) 20:55:31.16ID:aVfvaQML
https://mobile.twitter.com/Science_Release/status/1490922124487565312

彩恵りり🧚‍♀科学ライター✨おしごと募集中
@Science_Release
ダイヤモンドに光が入ると、中で何度も屈折や反射を繰り返す事で、輝いて見えるよ。この美しい結晶は、炭素原子が立体的なネットワークを形成する事でできているよ。この「ダイヤモンド構造」は、どんな位置や角度から見ても同じように見えて、動かしたり回転したりすれば重なるよ。
https://twitter.com/5chan_nel (5ch newer account)
943デフォルトの名無しさん
垢版 |
2023/01/19(木) 20:59:40.83ID:aVfvaQML
https://mobile.twitter.com/eichan4649/status/1461619758676131848

磐田のえいちゃん / コロナ禍はすべてカネで動いている
@eichan4649
知り合いの同級が数学で世界をリードする。
まあ、自分が勉強したところでこの方たちが勉強しなくても到底追いつけないですがね。
『国際学術会議会長に、数学者で、東北大学副総長の小谷元子氏が選ばれた!』
https://twitter.com/5chan_nel (5ch newer account)
944デフォルトの名無しさん
垢版 |
2023/01/21(土) 15:42:21.24ID:t6TQ+e97
https://mobile.twitter.com/beesandbombs/status/1283153051898060802

dave
@beesandbombs
:)
https://twitter.com/5chan_nel (5ch newer account)
945デフォルトの名無しさん
垢版 |
2023/01/21(土) 15:59:18.90ID:zpwlzbPr
https://mobile.twitter.com/lewis_osb/status/1616417827467968513

Lewis Osborne
@lewis_osb
✨ giveaway ✨

as a thank you for 9k followers ima be giving away an edition of 'Layers 3'. All you have to do to enter is just retweet this (and be following me 😇). I'll randomly pick a winner tomorrow at 13:00 GMT. (you'll need a tez wallet)

good luck pals!
https://twitter.com/5chan_nel (5ch newer account)
946デフォルトの名無しさん
垢版 |
2023/01/21(土) 22:58:58.51ID:t6TQ+e97
国際化、特に大学の国際化が大切だと思います。私が関わった中で、理化学研究所や沖縄科学技術大学院大学では、
外国人研究者がストレスなく活躍できる環境が整っています。大学では、世界トップレベル研究拠点プログラム(WPI)
拠点注2など例外を除いて、ほとんどが日本語をベースとしていて、日本語を話さない方が活躍するためには様々
なハードルがあります。そのため、学生、ポスドクや助教レベルでは国際化が進んできていますが、准教授や教授、
更に総長となると、国際化はまだまだ十分に進んでいないのが現状です。国際的な頭脳循環をあらゆるレベルで進めるべきと考えています。
https://www.nistep.go.jp/activities/sti-horizon%E8%AA%8C/vol-07no-03/stih00265
947デフォルトの名無しさん
垢版 |
2023/01/21(土) 23:21:52.82ID:t6TQ+e97
その原因として小谷さんが指摘するのが、学校に入るための勉強が優先される受験勉強という存在と、
早い段階で「理系」と「文系」を区別する進路の選択方法。共に、子どもたちが数学の面白さに気づく機会を奪ってしまう弊害があるといいます。
そのため、自分で発見する喜びを知らないまま、問題をうまく解くことが目的になってしまいます。その結果、
子どもの学力調査で日本の数学レベルは高いのに、「数学が面白い」と答える割合は他の国に比べてとても低いそうです。
https://www.lifehacker.jp/article/mugendai-mathematics-education-in-japan/
948デフォルトの名無しさん
垢版 |
2023/01/21(土) 23:25:59.47ID:t6TQ+e97
数理・情報的イノベーションでは設備投資ではなくアイデア勝負という所もあるので、これまでと異なる
ビジネスモデルが必要でしょう。数理的な手法が中心になると、イノベーションは非常に速いスピードで進むのです。
最初のアイデアがたくさん生まれる土壌をどのように作るのか、それをどのように標準的技術とするのか、
またデータのオープン・クローズ政策も重要です。
日本には「欧米で行われて成功したことは、日本もやらないと」と考えるようなところがありますが、
後から飛び込んでも遅い時代になっていると思います。ですから、「他の国でやっていることは、もうやらない」
というぐらいの気持ちで新しいことに挑戦していくことも重要な時代だと感じます。
https://www.projectdesign.jp/201801/ningen/004408.php
949デフォルトの名無しさん
垢版 |
2023/01/22(日) 20:18:09.56ID:YASOVX7G
https://mobile.twitter.com/minux302/status/1617052305219813380

まっくす
@minux302
3Dモデルを高品質な線画に変換するwebページを作成しました。手元の3Dモデルもアップロードして変換することが可能です。漫画の背景とかに活用してもらったなど思っています。
https://twitter.com/5chan_nel (5ch newer account)
950デフォルトの名無しさん
垢版 |
2023/02/23(木) 21:30:10.65ID:oIOHI9TW
https://mobile.twitter.com/Ch_iA_Ki/status/1383232018352275458

チアキ
@Ch_iA_Ki
自分のチンコのこと“愚息”って表現するのエロいよね。語感もなんかいいし、“愚”ってちょっとへりくだった言い方してるのがエロい。へりくだってはいるけど、そこそこの大きさあるんでしょ?って感じがする。だいたいチンコのことを“ムスコ”とあくまで自分とは別人格、独立した生物表現してるの文字数
https://twitter.com/5chan_nel (5ch newer account)
2023/02/24(金) 13:34:20.52ID:BW8FidY2
完全に重複してたら構造化で済ますし、
微妙に重複してなかったら多態しとくかって感じ
2023/02/24(金) 16:07:38.42ID:vkQVsBTH
PHPとかPythonでサーバーサイドのプログラム書く時ってクラス作るの?
2023/02/24(金) 16:56:33.43ID:rT9cQy8I
>>952
もちろん
2023/03/31(金) 01:10:31.93ID:v8h2cPZG
wikipediaでクラスの記事を書いてる途中で自警に目をつけられてブロックされて書けなくなってしまった
誰か↓の続きを完成させてクラスの記事を更新してくれない?
https://ja.m.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85:I.hidekazu/%E3%82%AF%E3%83%A9%E3%82%B9_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)

書きたいのは、
クラスはもともとダイクストラの構造化プログラミングにおける技法として出てきたのでその点を記述したかった。狭義の構造化プログラミングはプログラムの計算プロセスをフローチャートで書き表すことに主眼がある。だからgoto文はフローチャートで規則的に表すことができない(フローチャートの規則をぶっ壊す)ので有害とされたといえる。一方で、フローチャートの規則をぶっ壊すわけではないが、フローチャートで規則的に表すことができないプログラムコードというものとしてコルーチンなどの並列プロセスを含むプログラムが言える。クラスを使うオブジェクト指向プログラミングでフローチャートがほとんど無意味で設計にはUMLなどを使用するという事実はここに起因している、ということを出典付きで記載することを計画していた。

クラス = ブロックの構文であるという大前提を記載して欲しい(某言語の批判とかはいらん)。オブジェクト指向プログラミングでは、「オブジェクトとはなにか?」という結論は出ないが構造化プログラミングの枠内ではダールがはっきりとオブジェクトとはなにかということを定義しており、直接的ではないもののオブジェクトの素性について納得する説明が可能であるはずなのでそこを記載して欲しい。
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:tuQW77Kc
>>954
こりゃダメだろ
Wikipediaは君の意見やウンチクを披露する場ではないぞ
英語のClass(computer programming)のページを見ろ
2023/03/31(金) 22:44:18.08ID:v8h2cPZG
>>956
なんでわかったんだよ
数学板でやってみたときはみんなピュアなのかそんなこと言うやついなかったぞ
2023/03/31(金) 22:54:35.82ID:b5Rzt99g
>>954,958
「クラスはもともとダイクストラの構造化プログラミングにおける技法として出てきたのでその点を記述したかった。狭義の構造化プログラミングはプログラムの計算プロセスをフローチャートで書き表すことに主眼がある。だからgoto文はフローチャートで規則的に表すことができない(フローチャートの規則をぶっ壊す)ので有害とされたといえる。一方で、フローチャートの規則をぶっ壊すわけではないが、フローチャートで規則的に表すことができないプログラムコードというものとしてコルーチンなどの並列プロセスを含むプログラムが言える。クラスを使うオブジェクト指向プログラミングでフローチャートがほとんど無意味で設計にはUMLなどを使用するという事実はここに起因している、ということを出典付きで記載することを計画していた。」
「クラス = ブロックの構文であるという大前提を記載して欲しい(某言語の批判とかはいらん)。オブジェクト指向プログラミングでは、「オブジェクトとはなにか?」という結論は出ないが構造化プログラミングの枠内ではダールがはっきりとオブジェクトとはなにかということを定義しており、直接的ではないもののオブジェクトの素性について納得する説明が可能であるはずなのでそこを記載して欲しい。」
リンク先読んでみたがここコピーだろ。なんで動機部分をコピーすんだよ。
本人ならそのウンチク書くだろ。
2023/03/31(金) 22:58:08.66ID:b5Rzt99g
どうでもいいがスレ違い。
Wikipediaに書きたいならてめえでやれ。
2023/03/31(金) 23:06:18.57ID:cSEViIV3
const wiki = new wikiPedia();
2023/04/02(日) 14:35:28.75ID:Pu7bAi6b
フローチャートみたいな図はプログラムを理解しやすくするためのものであって、
フローチャートで表したいから構造化プログラミングしてるわけじゃないだろ
GOTO禁止は分岐を限定して処理のパターンを減らしたいだけで、
別にフローチャートで書こうと思えば書ける
2023/04/02(日) 19:31:41.47ID:y7KvAD2F
フローチャートとかスレ違い。
また自警か。wikiでやってろ。ここはそんな場所じゃねえんだぞ。
2023/04/18(火) 08:35:30.40ID:7G0k8gAq
オブジェクト指向ってしっくり来ないんですよね
2023/04/19(水) 06:25:03.80ID:JuzG8p8m
勝手にやってくれるやん
966デフォルトの名無しさん
垢版 |
2023/04/21(金) 10:07:47.57ID:thuL8w+F
最近のC#とか、どのクラスにも共通のメソッドあるやん?
あれがOOPLの醍醐味だよな
967デフォルトの名無しさん
垢版 |
2023/04/29(土) 09:37:56.72ID:UtcdTJXg
オブジェクト指向の既存コードが理解できません

謎のインスタンスがあり、謎のインスタンスから謎のメソッドに別の謎のインスタンスを引数として実行する
謎のインスタンスが戻り値として返る

謎のメソッドの中を覗いて見ても、やっぱり謎のインスタンスから謎のメソッドを実行するだけのコードが出てくる
フィールドになんかの値をセットするだけで終わり、みたいになってる

数値や文字列ならprintすればどんなデータを処理してるか分かるけど
インスタンスはこの変数をどうしたいのかが分からない
このインスタンスからメソッドを実行したり、フィールドになんかの値をセットしてるコードはあるけどそれを何の目的でやってるのか、そうすることで何が起きるのかよく分からない

そして一番謎なのはメソッドの中身の定義にどんどん移動していくと中身がない空のメソッドに到達してしまい、「あれ?」って迷子になってしまうこと
これが一番困ってる
968デフォルトの名無しさん
垢版 |
2023/04/29(土) 09:52:57.59ID:ItseuRzP
実際のコード例を2~3個あげてくれないとそれだけだと理解を妨げてる本当の理由はわからないかな
2023/04/29(土) 10:26:58.08ID:7o70JIXk
APIドキュメント見てる?
https://docs.oracle.com/javase/jp/8/docs/api/
こういうやつ
Visual Studioの支援でソースをおっかけるのもいいけど
文書としてまとまってるのを読んだほうがコードの意図は分かるかと

自前のソースの場合はDoxygenみたいなツールでAPIをドキュメント化しておくと
みんなで知識を共有できていいよ
2023/04/29(土) 11:38:00.87ID:7kLNqYqu
>>967
クイックソートやバイナリサーチのような汎用的なアルゴリズムとは違って、
アプリに近ければ近いほどプログラムの目的はコードを読んでもわからないよ
特に企業で使われるシステムは業務知識を知ってないと読んでも無駄だよ
2023/04/29(土) 15:34:14.84ID:1/XooGKC
>>967
オブジェクト指向でもクソコードはある。

君の悩みは、オブジェクト指向のコードが分からない、ではなくて、クソコードの解析作業が必要になってしまった、が正解
972デフォルトの名無しさん
垢版 |
2023/04/29(土) 19:47:07.71ID:UtcdTJXg
>>970
そういうコードの読み方や向き合い方を聞いてるんじゃないか。
フィールドに値をセットするだけや
ただ単にインスタンスを別のクラスのメソッドに次々と渡すだけの処理のどこに業務知識があるのか、そして最後は中身のない抽象メソッド


>>971
クソコードって感じはしない、極めて厳格に整理されてるように見えるプロジェクトで汚いコードでは無い、多分俺が読み方やデバッグの仕方を知らんだけな気がする
ただ中身がどこにもないように感じる。玉ねぎの皮をひたすら剥いてる感じ、いかにもオブジェクト指向って感じのコードが苦手
973デフォルトの名無しさん
垢版 |
2023/04/29(土) 22:07:10.28ID:K6qb0jTC
クソコードじゃない前提ならレイヤーの分け方の意味や役割分担を理解してない可能性が高いな

どぅちにしろ分からないと言ってるコード例を出さないと話にならん
2023/04/29(土) 23:26:13.99ID:7kLNqYqu
>>972
めんどくさいけど推測してやるか、しょうがねえな
たぶん中身のないメソッドってのはスーパークラスのデフォルト実装だろう
サブクラスのインスタンスをスーパークラスの型で渡すのはよくある設計だよ
呼び出し元をたどればインスタンス化してるサブクラスがわかるはずだから、
オーバーライドしてるメソッドを読めば実際に何してるかわかるんじゃね
2023/04/29(土) 23:28:31.86ID:1/XooGKC
多分この人は解決を求めてるんじゃなくて愚痴を聞いて欲しいんだと思う
2023/04/29(土) 23:33:59.25ID:7kLNqYqu
なにそれうざいんだけど 死ねばいいのに
977デフォルトの名無しさん
垢版 |
2023/04/29(土) 23:39:48.62ID:9r/sK/L7
>>967の前半は読む限りコンストラクタ・インジェクションと推測

中身のない空のメソッドはインターフェース定義とか?
2023/04/30(日) 20:21:34.69ID:c/8nIlPL
どうせgithubにすら上がってないオレオレライブラリの話じゃね?
2023/05/05(金) 16:18:51.69ID:iwKPqxU+
Debugビルド時は動的ディスパッチ、Releaseビルド時は静的ディスパッチって
切り替えられる言語ないかな?あったらテストしやすくて、実行コストもなくせると思う
2023/05/05(金) 18:28:13.24ID:4XkoXGUj
テストの手間が2倍になるよね

当然静的ディスパッチでも上手く動く事をテストで確認するんだよね。その動作が意図通りでないときはどうやってデバッグするのよw
2023/05/05(金) 18:36:55.17ID:kWlF9XkU
動的ディスパッチだとテストしやすくなると思ってる理由がそもそも謎
2023/05/05(金) 21:18:25.11ID:4XkoXGUj
知らんけどディペンデンシーインジェクションとか、開発対象の周辺を好きなヤツだけニセに置き換える想定だったのでは

でも動的~だけじゃ万事解決はせんよ、と。そして静的~でも周辺を置き換える技法はある。GoogleTestでもできるよ
2023/05/12(金) 22:06:16.05ID:+3Auf0UC
そもそもそんな切り替えが出来るかどうかは言語次第じゃないの?
実装を全く変えるならどの言語でも出来るだろうけど
意図が分からんし開発も静的でいいやんw
仮想関数とか殆どのもので使う必要無いし
2023/05/12(金) 22:08:55.80ID:fbUS3y9B
オブジェクト指向なら動的になるのは仕方ないだろ
985デフォルトの名無しさん
垢版 |
2023/06/08(木) 12:25:04.86ID:WcEL2gvj
上司から毎日のように仕事しろとメッセージが届くが、仕事したためしがない。
俺.仕事しろ(“上司”) #=> nil(null)
2023/06/08(木) 12:33:31.41ID:rxjbLVG0
俺.仕事しろ(“上司”)

error: undefined method
987デフォルトの名無しさん
垢版 |
2023/06/08(木) 17:31:48.99ID:U7kkrrgt
>>986
仕事してないならコッチだな
2023/06/08(木) 18:01:08.30ID:lD5XXd8P
レビュー指摘

> 仕事しろ()
仕事しろって何の仕事だか不明、後々修正する人が迷うポイントになるので具体的な仕事名を含むように再設計して下さい

> ("上司")
「呼び元がどこか」をパラメータに含めて動作を変えるのは良い設計じゃない。やりたくなる事がたまにあるのは知ってるけど、本当は何で分岐したいのか再検討して下さい

佐々木::上司 が
矢島::部下 に

矢島.設計書初回レビュー(どの設計書か, 希望期限);

とか。

(所感:一人でオブジェクト指向を語れるレベルに達していないのでメンターを付ける必要がある)
2023/06/08(木) 18:09:44.45ID:lD5XXd8P
俺のタスクリスト.追加("次週のリーダー会議の前に山本部長を喫煙所で捕まえてメンターの件相談しとく", 期間見積もり, メンター候補者配列)
990デフォルトの名無しさん
垢版 |
2023/06/08(木) 18:14:09.52ID:U7kkrrgt
>>988
お陰で唇のひび割れが治ったよ、ありがとう
2023/06/08(木) 18:57:31.77ID:lD5XXd8P
俺のタスクリスト.追加("佐々木に仕事内容は具体的に指示、伝わったか相手の言葉で復唱させろって教える")

// やっぱり佐々木に部下付けるのはまだ早いか…
2023/06/08(木) 19:08:45.73ID:lD5XXd8P
ひらめいた

主人公の年齢、役職、や、周辺キャラクターの人物設定などした上で、日本語コーディング風に物語を書いてアマゾンで発表する方法に関する技法
で特許申請

物語の途中でシステム障害が発生したとかイベント発生し文体も変える
障害を乗り越えて通常稼働に戻り物語が終わる

メインターゲット読者はプログラマー職で日々苦労してるひと
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/
2023/06/12(月) 13:24:10.95ID:Zpvo7VcB
ありがとう
2023/06/12(月) 13:24:25.64ID:Zpvo7VcB
UME
2023/06/12(月) 13:33:58.28ID:Zpvo7VcB
2023/06/12(月) 13:42:38.53ID:Zpvo7VcB
2023/06/12(月) 13:42:47.73ID:Zpvo7VcB
ありがとう
2023/06/12(月) 13:42:57.71ID:Zpvo7VcB
そしてさようなら…
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 775日 22時間 40分 30秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況