X



オブジェクト指向の「クラス」ってなんなの?
■ このスレッドは過去ログ倉庫に格納されています
0001雪ちゃん(北海道) [US]
垢版 |
2019/10/09(水) 20:32:48.20ID:S2FDAIgl0?PLT(12015)

インタビューア(以下「I」): あなたがソフトウェアデザインの世界を一変させてから何年にもなる。振り返ってみて、感想は。

Stroustrup(以下「S」): 実はあなたがここへ来る直前、当時のことを思い出していたんだ。
おぼえているかな。
誰もが C 言語を使っていたけど、問題はみんな結構うまくコーディングしていたことだった。
大学も C 言語を教えるのがうまくなっていたしね。驚
異的な割合で有能な――「有能」という言葉は強調しておきたい――卒業生を量産していた。
それが問題の原因だったんだ。

I: 問題?

S: そう、問題だったんだ。誰もが COBOL を使っていた頃のことはおぼえてる?

I: もちろん。僕もそうだった。

S: はじめの頃、COBOL ができる人間は神のような存在だった。給料も高かったし、王侯貴族のような扱いだった。

I: いい時代だったなあ。

S: うん。で、どうなった? 嫌気がさした IBM が何百万ドルもつぎ込んでプログラマを養成したものだから、COBOL プログラマは「一盛り十円」になってしまった。

I: だから僕は辞めたんだ。たった1年の間に給料が急落して、とうとうジャーナリストの方が給料がよくなったんだ。

S: そのとおりだ。で、当時は C プログラマにも同じことが起こっていたんだ。

I: なるほど。でも、要するに何が言いたいのかな。

S: ある日、オフィスにいたときに、ある策略を思いついたんだ。バランスを少し回復させる策略をね。
「プログラマが余るなんてことが絶対にありえないくらい、複雑でおぼえにくい言語があったらどうなるかな」ってね。
実は、この考えの一部は X10――例の X Window の――から頂いたんだ。
あれはひどいグラフィックシステムでね、Sun 3/60とかでないと動かなかった。
ばかばかしいくらい複雑な構文規則とか、わかりにくい関数とか、疑似オブジェクト指向的な構造とか、僕がほしいと思う要素は全部揃っていたんだよね。
今でさえ、生の X Window コードを書く人間なんていない。
正気を保つには Motif を使うしかないんだ。

https://monobook.org/wiki/Bjarne_Stroustrup_%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC
0002パナ坊(茸) [RU]
垢版 |
2019/10/09(水) 20:33:15.26ID:0/HiJ3yG0
クラスだろ
0003ミルーノ(茸) [GB]
垢版 |
2019/10/09(水) 20:33:27.28ID:HgEkL2tq0
設計図
0004イヨクマン(埼玉県) [FR]
垢版 |
2019/10/09(水) 20:33:29.08ID:y6V2BbGI0
 
これ半分アベもstaticおじさんだろ?
 
 
0005ソニー坊や(茸) [EU]
垢版 |
2019/10/09(水) 20:33:48.16ID:pivhOjmT0
構造体に関数を打ち込んだもの
0006しんちゃん(茸) [US]
垢版 |
2019/10/09(水) 20:34:14.46ID:ZqP+uW2r0
考えるな
感じろ
0007コジ坊(茸) [GB]
垢版 |
2019/10/09(水) 20:34:26.28ID:D9Y/KDc30
クラスだよ
0008カッパファミリー(茸) [US]
垢版 |
2019/10/09(水) 20:34:42.61ID:u1Nv9YqM0
説明できるやつなどいない
0009とぶっち(茸) [US]
垢版 |
2019/10/09(水) 20:34:52.10ID:kJ5wjVN10
遺伝子
0010光速エスパー(神奈川県) [US]
垢版 |
2019/10/09(水) 20:34:58.10ID:twxEGMYE0
クラスってのは俺やお前が馴染めなかった場所のことだよ
0011とれねこ(福岡県) [CL]
垢版 |
2019/10/09(水) 20:35:03.35ID:AxlVq7Og0
SCPかよ
0012ミルママ(讃岐國) [GB]
垢版 |
2019/10/09(水) 20:35:38.86ID:IQRG/J9k0
料理のせる皿じゃなかったか
0014ラビピョンズ(青森県) [US]
垢版 |
2019/10/09(水) 20:35:52.00ID:t2Hwjwzi0
クラスと言うよりインスタンスでしょ
0016かわさきノルフィン(愛知県) [ZA]
垢版 |
2019/10/09(水) 20:36:19.88ID:M8h9hVhM0
EXCELマクロしか組めんけどクラスの説明してるページがアホみたいに少なくてちょっと覚えるのに苦労した
普通のがロボット作るような物ならクラスは量産型ロボットの設計図みたいなもんだと覚えた
VBA以外は知らん
0019イヨクマン(埼玉県) [FR]
垢版 |
2019/10/09(水) 20:36:57.76ID:y6V2BbGI0
 
正解

アドレス

以上

 
0020マックライオン(東京都) [GB]
垢版 |
2019/10/09(水) 20:37:02.71ID:y8xN4Z9h0
Rubyの人が出てくる前に帰ろうぜ
0024黄色のライオン(東京都) [GB]
垢版 |
2019/10/09(水) 20:38:06.81ID:DLXyLmKk0
構造体が分からないと、どうして変数と関数をまとめる必要があるのか、面倒じゃん。ってなるわな
0026ポテくん(東京都) [AU]
垢版 |
2019/10/09(水) 20:38:25.85ID:3shzqKwH0
コード+データ
0027オノデンボーヤ(茸) [ニダ]
垢版 |
2019/10/09(水) 20:38:34.21ID:XAfw5Xw/0
>>5
俺も分からんからこの認識。
0028ココロンちゃん(東京都) [DE]
垢版 |
2019/10/09(水) 20:39:18.46ID:UPwbvYqU0
クラスとかインスタンスとか
車とか設計図とかの例えはわかるが
結局プログラム上では何かわからない
0030ミルママ(讃岐國) [GB]
垢版 |
2019/10/09(水) 20:40:24.53ID:IQRG/J9k0
中国共産党の中国人と電通で繋がってんのけ

なんか必死にいまごろ20年まえの話題してるが
0031省エネ王子(東日本) [US]
垢版 |
2019/10/09(水) 20:40:30.99ID:UFxgpsRD0
SCPオブジェクトクラスketerです
0032ぎんれいくん(兵庫県) [ニダ]
垢版 |
2019/10/09(水) 20:42:05.42ID:M/QdBdCU0
EXCELVBAでも、クラス定義したら '.'を入力すると同時にメンバー一覧を表示してくれるから非常に楽
オブジェクト指向に興味なくても、そのためにクラス作るだけで元が取れる気がする
0034あんしんセエメエ(神奈川県) [ヌコ]
垢版 |
2019/10/09(水) 20:43:40.16ID:KihuENrj0
はよコンセプト導入して
0036ラビピョンズ(青森県) [US]
垢版 |
2019/10/09(水) 20:43:53.33ID:t2Hwjwzi0
シリアライズを考えたやつは天才だと今でも思ってる
0037ピモピモ(福井県) [GB]
垢版 |
2019/10/09(水) 20:44:18.70ID:QjCdiZMS0
夏の日の1993
0038省エネ王子(ジパング) [US]
垢版 |
2019/10/09(水) 20:45:03.11ID:w4AnQ5bc0
一言で言うとまとまり
学校と一緒
0040ホッピー(茸) [US]
垢版 |
2019/10/09(水) 20:45:51.52ID:0AQjF9J10
概念
0041↑この人痴漢です(神奈川県) [US]
垢版 |
2019/10/09(水) 20:45:54.44ID:4coECban0
ドレッドノート級(クラス)って言うだろ
戦艦クラスを継承したのがドレッドノートクラス
空母クラスと重巡洋艦クラスを多重継承したのがアドミラルクズネツホフクラス
そゆこと
0042てっちゃん(長野県) [US]
垢版 |
2019/10/09(水) 20:46:16.85ID:8SCsBl6l0
プロトコルを継承するもの
0043イヨクマン(埼玉県) [FR]
垢版 |
2019/10/09(水) 20:46:47.58ID:y6V2BbGI0
 
自由度が高いからな

データを保存するだけのクラスもあるし、そのデータを操作するためのLogicが書かれたクラスもある

Viewへの参照を保持するクラスもあれば、そのViewに値を渡す方法としてMVCやらMVPやらが存在する。

Controllerはあくまでデータクラスを操作するためのもので、PresenterはロジックとViewを管理する。

このPresenterをViewを担当するxmlに直接操作させるようにしたものがMVVM

そしてModelとViewのこの危うい順序の関係をModelからViewへとしたのがFLUX

これらすべてクラス

インターフェースは何かオーバライドするためのもの程度の認識のやつは触らないで

  
0044アイニちゃん(千葉県) [CN]
垢版 |
2019/10/09(水) 20:47:54.90ID:rH9pFF/k0
グループで規則作ってプログラミングする際に
適切に運用できればまあ便利なのかなって感じ
0045ぴちょんくん(愛知県) [ニダ]
垢版 |
2019/10/09(水) 20:48:13.06ID:PVY49WGA0
クラスはデータとメソッドを1つにまとめたもの

クラス:たい焼き器
インスタンス:たい焼き
オブジェクト:たい焼きor設計工程ではたい焼き器
0046あどかちゃん(神奈川県) [CN]
垢版 |
2019/10/09(水) 20:48:38.95ID:Q7InuVsi0
1993
0048サンコちゃん(静岡県) [CN]
垢版 |
2019/10/09(水) 20:49:01.82ID:Czn2/V230
僕らのクラスのリーダーは
ミッ○ーマウス、ミッキー○ウス、ミッ○ー、ミッ○ー、○ウス(´・ω・`)
0049のんちゃん(千葉県) [US]
垢版 |
2019/10/09(水) 20:49:22.42ID:rJS//EEU0
理解が曖昧だわ
オブジェクトの種類がクラスで、変数に対しての型定義みたいなもんだっけ
0050↑この人痴漢です(神奈川県) [US]
垢版 |
2019/10/09(水) 20:49:48.47ID:4coECban0
>>41
で上の例のニミッツクラスのインスタンスがコンストラクト時にshipnameジョージワシントンとか入れてジョージワシントンになるわけ

新規ならトップダウン設計でいいが、
既存の物をモデリングするなら
タマとミケが似てるから猫クラス作って
猫クラスと虎クラスの共通点多いから猫科アブストラクトクラス作るとかな
0053ナルナちゃん(三重県) [US]
垢版 |
2019/10/09(水) 20:50:46.46ID:mMpiO9Xx0
夏の日の1993って果てしなくゲスな曲だよな
0054ヱビス様(茨城県) [FR]
垢版 |
2019/10/09(水) 20:52:25.28ID:p9ne+F/00
猫クラスはオスとメスあるの?
交尾すると子どもはできるの?
0056キューピー(東京都) [JP]
垢版 |
2019/10/09(水) 20:55:02.37ID:mNheBGWT0
>>54
そういうメソッドを作れば出来るよ
0058エネオ(SB-iPhone) [JP]
垢版 |
2019/10/09(水) 20:58:22.15ID:kwNeOTmu0
入れるとタピオカになる容器的なやつ
0060アフラックダック(ジパング) [US]
垢版 |
2019/10/09(水) 20:59:02.46ID:Sg+RMN//0
がんばれゲイツ君とか懐かしいな
0061キタッピー(埼玉県) [ニダ]
垢版 |
2019/10/09(水) 20:59:08.91ID:NmOzcufX0
1993〜♪
0062しまクリーズ(大阪府) [CN]
垢版 |
2019/10/09(水) 21:01:52.34ID:aiqvAhPE0
クラスは継承出来るよ?
0063まがたん(SB-iPhone) [US]
垢版 |
2019/10/09(水) 21:03:29.65ID:PpopIUqB0
>>59
みんなAIもてはやすけどさ、あれって商売にならないんだよね。
期待した機能が実現できるかどうかすら誰も保証が出来ない代物だからなぁ
0064バンコ(茸) [ヌコ]
垢版 |
2019/10/09(水) 21:03:32.91ID:rQDK3aEh0
1999恋をした?
0065柿兵衛(東京都) [US]
垢版 |
2019/10/09(水) 21:04:22.42ID:OsIsdzqL0
traitを使いこなせ
0067レイミーととお太(光) [GB]
垢版 |
2019/10/09(水) 21:05:36.40ID:EntFAEQe0
指示待ち人間
指示されたら指示された通りに動く
自主的にやろうとしないのでいちいち指示しないといけない
0069てっちゃん(東京都) [US]
垢版 |
2019/10/09(水) 21:05:37.63ID:y6YlsvQt0
凡人向けになんらかのメタファが必要なだけ

バリバリアセンブラで書き始める人間には不要な概念
0072ベストくん(光) [IT]
垢版 |
2019/10/09(水) 21:08:42.81ID:OUnfg4D/0
Pythonを初めてできそうな気がしたときに、やっぱり自分には向いていないと気づかせてくれる仕組み
0073アカバスチャン(東京都) [US]
垢版 |
2019/10/09(水) 21:11:41.06ID:6LCHHLLi0
>>5
こういう言い方されて初めてわかったよ。そこまで猫の鳴き声がどうの色がどうのって説明は全く無駄。
0074エコンくん(東京都) [ニダ]
垢版 |
2019/10/09(水) 21:11:47.02ID:1pik/7Db0
>>3
>>22

設計図と言えばそうなんだけど、企画や営業、技術でこれからどういうものを作るかを検討するのに分かりやすい

というかそのままプログラムに落としていきやすい

デザインシンキングなんかでいろんな要素を付箋で貼ったりするけど
あの付箋がクラスになると考えると近いかも

そうすると実装されるプログラムの動きと要求が一致しやすい
0075エキベ?(滋賀県) [MX]
垢版 |
2019/10/09(水) 21:12:36.65ID:CY53kKil0
プラトンのイデア
0077中央くん(空) [DE]
垢版 |
2019/10/09(水) 21:15:35.73ID:zVWTQ9Se0
プラプラしてないで働いたら?
0079エコてつくん(東京都) [AR]
垢版 |
2019/10/09(水) 21:19:08.50ID:097NCJli0
最近はintとかもクラスになってるからな
大昔のビット構造前提でバイナリ演算やったら悲惨なことになる
0080まがたん(SB-iPhone) [US]
垢版 |
2019/10/09(水) 21:21:52.22ID:PpopIUqB0
>>70
性別になんで生殖器の処置まで入れてんだ?
それは性別と関係ないだろ。
0082吉ブー(神奈川県) [ES]
垢版 |
2019/10/09(水) 21:22:59.01ID:0ut6gsgj0
グルーピングでもあるんだよな。
親クラス、子クラスでいろいろと便利。
画面遷移とか同じ1行で勝手に振り分け出来るし。
まあ関数をポインタで呼び出してるようなもんだけど。
0083サムー(庭) [US]
垢版 |
2019/10/09(水) 21:23:19.13ID:LJX2iFXM0
さんねええええええん
びいぐみいいいいい
0087いきいき黄門様(関東地方) [MX]
垢版 |
2019/10/09(水) 21:29:17.98ID:BZIGru8a0
セイバー
アーチャー
ランサー
ライダー
キャスター
アサシン
バーサーカー
0088ばっしーくん(東京都) [JP]
垢版 |
2019/10/09(水) 21:31:22.49ID:iIh89YjH0
>>45
これ有名なJavaの本に出てくる例えだけどさ
これでクラスを理解してプログラミングに繋げるとか無理あるわ
ある程度分かってきたら糞本だっていうのがわかる
0090アンクルトリス(滋賀県) [DE]
垢版 |
2019/10/09(水) 21:35:45.98ID:pelcAEcP0
まず、UMLで設計しようよ
オマエら、即コーディングしてないか?
0091ビバンダム(兵庫県) [US]
垢版 |
2019/10/09(水) 21:37:33.08ID:vUHssaWU0
>>14
クラスは外部仕様
インスタンスはその仕様を実現する
色んな奴らのうちの1人

だから全くの別物
インターフェイスクラスやら
純粋仮想関数なんてのもあるだろ
0092マーキュリー(愛知県) [NO]
垢版 |
2019/10/09(水) 21:39:32.08ID:+m+ioU7L0
文字通り「分類」だよ
クラスってのは変数と関数の集まりだろ
変数はデータで関数は処理だ

「何らかのルールによってシステムに必要なデータと処理を分類したもの」
オブジェクト指向とは、モジュール分割の手法だ
0093KEN(SB-iPhone) [US]
垢版 |
2019/10/09(水) 21:40:33.44ID:jMClwVXv0
RPGで言うところのジョブって考えれば分かりやすい
0094ユーキャンキャン(ジパング) [ニダ]
垢版 |
2019/10/09(水) 21:40:37.36ID:YBgrz9JD0
クラスはポケットモンスター
インスタンスはピカチュウ

クラスはヒト
インスタンスはイッチ

クラスは犬
インスタンスはガイジーヌ
0095やいちゃん(静岡県) [EU]
垢版 |
2019/10/09(水) 21:41:04.32ID:xMdsPQcz0
いじめられてるメンバがいそう
0096ひよこちゃん(SB-Android) [FR]
垢版 |
2019/10/09(水) 21:41:38.57ID:Wl+GPmhl0
>>1
X-Windowプログラミング専門学校でやったなぁ
それまでX68kしか触ったことなかったからイベントドリブンの考え方がよく分からなかった
0097星ベソパパ(東京都) [US]
垢版 |
2019/10/09(水) 21:42:12.84ID:i4F+cL1+0
Cの良いところはコンパイルされた後の命令をはっきり意識しながら書ける所
オブジェクト指向の奴ってメモリ上にどうオブジェクトが展開されてるかって分かりにくいよね
0099ホッピー(東京都) [PL]
垢版 |
2019/10/09(水) 21:43:15.78ID:5ATV1WFV0
Javaも多重継承できればなぁ
0101タックス君(京都府) [GB]
垢版 |
2019/10/09(水) 21:47:49.64ID:C61GuS7Q0
OOP=複雑な改造に耐え切れないモノ
不具合が出たときに、同じ名前の関数が山ほどあるから、
どこが動いてるのかわからない。
0103ウリボー(静岡県) [US]
垢版 |
2019/10/09(水) 21:54:57.37ID:gO2NjjJ30
X Windowとか Motif とかいつの時代の話しだよw
0104ヒッキー(島根県) [ニダ]
垢版 |
2019/10/09(水) 21:55:14.98ID:ypUigQff0
単純化しようとして複雑化してしまうモノ
0107ポッポ(茸) [US]
垢版 |
2019/10/09(水) 21:57:16.56ID:Ucazys0+0
えー?クラスっていったら実現するその結果を導くための雛形だろ

お手本

言語開発チームがこれが全体通して割とコストパフォーマンスが優れてるよーって公開してくれてる雛形
0108ミーコロン(滋賀県) [DE]
垢版 |
2019/10/09(水) 21:57:36.44ID:Og/PksUI0
結局コピペした方が簡潔で100倍速かったという試行産物
0109auシカ(庭) [US]
垢版 |
2019/10/09(水) 21:57:52.73ID:rCScm4WT0
解説書「クラスは設計図です」←この解説やめろ
0111auシカ(庭) [US]
垢版 |
2019/10/09(水) 21:59:35.63ID:rCScm4WT0
>>110
メンテナンスなんかしなくていいよ
0113すいそくん(埼玉県) [ニダ]
垢版 |
2019/10/09(水) 22:04:00.94ID:KiPTObZ20
ITドカタのみなさん
もっとマシなソフトを作ってね
0114アイちゃん(東京都) [SE]
垢版 |
2019/10/09(水) 22:05:54.93ID:NGfS2gZU0
クラスはDNAみたいなもんだ
インスタンスがRNAな
細胞が小さなオブジェクトでメッセージを送りあって出来るのがヒトってわけ
0120ポッポ(茸) [US]
垢版 |
2019/10/09(水) 22:12:53.35ID:Ucazys0+0
末端の開発会社は思ってる結果をだすのに1番合いそうなのをピックアップして成型していく
継ぎ接ぎだらけになるからなだらかになるようにバリという矛盾をとっていって、一般向けに粗方でいいのか、芸術的に鑑賞にたえるものにまで仕上げるのかの差
0121ドクター元気(SB-Android) [JP]
垢版 |
2019/10/09(水) 22:13:27.99ID:H2vdW8u80
オブジェクト指向てオジさんの青春って感じでキモい
関数型のパラダイムに乗り遅れちゃったみたいな
0126ミーコロン(ジパング) [US]
垢版 |
2019/10/09(水) 22:18:00.79ID:/dAJ5V/20
>>119
これ
0127ドクター元気(SB-Android) [JP]
垢版 |
2019/10/09(水) 22:20:48.02ID:H2vdW8u80
>>124
現代では別々のほうがメンテナンス性高いとわかってきてるんや
ステートをクラス内に持つオブジェクト指向開発はスパゲッティの素でゴミな
0128パム、パル(日本) [SE]
垢版 |
2019/10/09(水) 22:23:58.86ID:wrAwCPLf0
>>124
C言語エアプか?
関数名がバカ長くなるだろ
0130ウリボー(北海道) [US]
垢版 |
2019/10/09(水) 22:25:13.87ID:2kmXDnnB0
複数の多次元配列を使い勝手良くするために作られた手法?
ぶっちゃけわからん
0131ポッポ(茸) [US]
垢版 |
2019/10/09(水) 22:26:12.23ID:Ucazys0+0
だれにも正解を断言できない奇妙な世界
(確からしい)で動いていくしかない
0132エコピー(家) [CN]
垢版 |
2019/10/09(水) 22:27:10.70ID:seKkOylg0
車だのたい焼きだのワケわからん
誰か、かいけつゾロリで例えてくれ
0133たらこキューピー(家) [ニダ]
垢版 |
2019/10/09(水) 22:28:15.16ID:fTFL+92V0
>>32
いまVBA勉強してるのになんて意味かさっぱり分からない(´・ω・`)
0134トドック(家) [ニダ]
垢版 |
2019/10/09(水) 22:28:46.65ID:havF1Ccl0
>>10
そういう心にくるのはやめろ
0135パム、パル(日本) [SE]
垢版 |
2019/10/09(水) 22:29:29.10ID:wrAwCPLf0
>>132
継承は現場では全く使わんので気にしなくていいぞ
仕様変更入ったら破綻するだけのゴミ
0136ピースくん(神奈川県) [US]
垢版 |
2019/10/09(水) 22:34:13.64ID:vFbXf4zj0
あんまり難しく考えんでもclassは人間、instanceはお前らと考えればいいんじゃね
0137愛ちゃん(東京都) [ニダ]
垢版 |
2019/10/09(水) 22:36:20.98ID:unVIYP0f0
クラスってさ、要は関連する処理をまとめたものでしよ?
文字を受けとる
文字を格納(変数)
文字を出力
文字を削除
みたいな?
0141トラッピー(千葉県) [US]
垢版 |
2019/10/09(水) 22:52:42.95ID:Ol83KGx+0
最近は美少女の脱糞話はしないんだな。
0142よむよむくん(東京都) [US]
垢版 |
2019/10/09(水) 22:53:44.43ID:ZYUbbhnQ0
昔読んだオブジェクト指向入門って本には、クラスには、
・モジュールとしての側面
・データ型としての側面
があると書いてあったな。

モジュールを知っていれば、これ以上の説明は無いわ。
変な例え話が書いてある本は捨てろ。
0144パレナちゃん(山梨県) [CN]
垢版 |
2019/10/09(水) 22:55:00.36ID:DjNDKVUx0
なんかいい感じの部品
0146でんこちゃん(兵庫県) [ニダ]
垢版 |
2019/10/09(水) 22:56:08.51ID:eYk2G6DN0
ニミッツ級航空母艦の 級
0147トラムクン(東京都) [PH]
垢版 |
2019/10/09(水) 23:03:12.67ID:xqDD+heV0
スーパープログラマがちゃんと設計した全体として一貫性のあるクラスライブラリ群は有用だと思う。
IT土方がその場の思い付きで作りまくったクラスの山はゴミ同然。
0148エコてつくん(神奈川県) [DE]
垢版 |
2019/10/09(水) 23:04:31.14ID:s/MQpHv60
継承も分からん。
普通に、関数とか、サブルーチンとかで良いじゃん、と思うのだけどな。
0150パピプペンギンズ(千葉県) [ヌコ]
垢版 |
2019/10/09(水) 23:05:50.83ID:UbiPQdD+0
クラスはクラス
0152ドコモン(東京都) [ニダ]
垢版 |
2019/10/09(水) 23:06:52.76ID:Dp8iHKHz0
なぜ鳴くのー
0156アストモくん(SB-iPhone) [US]
垢版 |
2019/10/09(水) 23:09:29.32ID:tCvIGivq0
>>32
me.って打てばモジュール内の関数は出てきたような。
モジュール名.でも出た気がする。
インテリセンスのためにクラス定義するのは時間の無駄よ。
0157チルナちゃん(神奈川県) [ニダ]
垢版 |
2019/10/09(水) 23:11:58.55ID:lxwbmvmL0
>>28
使うだけならクラスからオブジェクトを生成(new)して、それにパラメータを渡せば動いてくれる。
使い方さえ覚えればクラスの中身は見なくていいので手抜きができる。
0158チルナちゃん(神奈川県) [ニダ]
垢版 |
2019/10/09(水) 23:17:33.47ID:lxwbmvmL0
>>43
そういうのは頑張って覚えてコード書いてもすぐ流行が変わって使わなくなる。
数年経ってから見直すと、自分でも「何やってんだw」と思うようになる。
複雑過ぎるのは結局誰も保守できなくなるから、いずれ他のものに差し替えられる。
せいぜい基本がわかってればいい。
0159オノデンボーヤ(京都府) [US]
垢版 |
2019/10/09(水) 23:17:59.71ID:MCmxNCUe0
>>6
結局の所、ほとんどのことは
理解しようとするよりも
実際に使いながら、
ああ、そうかと思えて腑に落ちる体験が
必要なのだと思う。
0160チルナちゃん(神奈川県) [ニダ]
垢版 |
2019/10/09(水) 23:19:04.03ID:lxwbmvmL0
>>45
こういう説明は、オブジェクト指向の意味がちゃんとわかった人が読めば理解できるが、
初心者が読んでも役に立たない。誤解されるだけになる、ということが後になってわかる。
0161BEAR DO(東京都) [US]
垢版 |
2019/10/09(水) 23:19:19.83ID:jSD9mjyM0
ナマポ、金持ち、共産主義者、自民党を数値化するための階層表現、それがクラスだ。
0164チルナちゃん(神奈川県) [ニダ]
垢版 |
2019/10/09(水) 23:25:07.05ID:lxwbmvmL0
>>108
後からそれに手を入れる人の身になってくれよ。コピペした数だけ同じ修正入れなきゃいけないんだよ。
修正の手間が100倍になるんだよ。残業代払えよ。
0166ミルミルファミリー(茸) [CN]
垢版 |
2019/10/09(水) 23:25:57.90ID:+fTdBgW30
ざっくり
class≠typedef
インスタンス≠変数宣言、malockで確保したアドレスのポインタ
で良いんじゃね
実行に必要なメモリが確保されてるかされてないかだよ
※staticは除く
0168ニーハオ(富山県) [ニダ]
垢版 |
2019/10/09(水) 23:28:44.12ID:RMU2tXfl0
ケテルとユークリッドとセーフ
0169チルナちゃん(神奈川県) [ニダ]
垢版 |
2019/10/09(水) 23:32:12.28ID:lxwbmvmL0
>>124
別々でも同じことはできるんだけど、ある構造体をどの関数が使ってるか正確に把握してないとバグの原因になる。
1つの構造体を複数の関数が使っていたとして、どれかの関数が構造体の仕様を少し変更したいと思っても
変更すると他の関数が正常に動かなくなる可能性があるから手直しに神経を使う。
逆に、必ず1つの構造体に1つの関数しかアクセスしないのなら1つにまとめた方が保守しやすい。
1つのクラス内に両方書いてあるからわかりやすいわけだ。
クラスの外からはその構造体にアクセスできなくしてしまえば余計なことを考えなくて済む。
つまりバグが出にくくなるということになる。
0170あるるくん(三重県) [ニダ]
垢版 |
2019/10/09(水) 23:33:42.94ID:j78RLINA0
>>167
場合による、としか言いようがニャンコ
0171チルナちゃん(神奈川県) [ニダ]
垢版 |
2019/10/09(水) 23:36:36.71ID:lxwbmvmL0
>>143
GOFを理解して使うならその方がいいが、GOFを知らない仲間がいると話が合わなくなりやすい。
「なんでここはこう書いてる?」と聞かれて、「○○パターンだから」の一言で話が通じない。
いちいち解説しないといけなくなる。
0174スピーフィ(愛知県) [RU]
垢版 |
2019/10/09(水) 23:43:28.49ID:6oedPHRp0
クラス = 料理の手順と必要な材料を書いた紙
フィールド = 材料の分類と名前
プロパティ = 材料を下拵えする調理器具
メソッド = 調理の詳細な手順
インスタンス = このレシピに必要なものを実際に用意したキッチン

キッチン = new レシピ( 材料 )
キッチン.切る()
キッチン.炒める()
料理 = キッチン.配膳()

こんな風に俺は考えてる
0179たぬぷ?店長(庭) [ニダ]
垢版 |
2019/10/09(水) 23:55:03.64ID:KUrl5Q+80
インスタンスって何?
NSZombie 使ってるとこ見てみたい
0180さんてつくん(茨城県) [MX]
垢版 |
2019/10/09(水) 23:55:34.65ID:eVWu2VaN0
>>174
>キッチン = new レシピ( 材料 )

なんでインスタンス化したら変わるの?

キッチン = new キッチン(new レシピ(材料))

とかじゃないもんなん?
0182ケロちゃん(SB-iPhone) [US]
垢版 |
2019/10/10(木) 00:03:09.50ID:Nr0fJxqh0
人間クラスから派生クラスとして朝鮮人クラスを定義したら先輩にしこたま怒られました
なんで?
0183俺痴漢です(ジパング) [US]
垢版 |
2019/10/10(木) 00:04:26.04ID:Zc7NTJ9c0
カタカナ語なしでお願いします
0184レオ(愛知県) [ニダ]
垢版 |
2019/10/10(木) 00:04:50.19ID:hWbwKOBU0
>>174
なんでキッチンが切ったり炒めたりするの?
それは料理人のメソッドじゃないの?
0186しんた(東京都) [GB]
垢版 |
2019/10/10(木) 00:07:34.99ID:IXnPzDhQ0
ある仕事をする機能の単位だべ
0187ホッピー(東京都) [PH]
垢版 |
2019/10/10(木) 00:07:54.84ID:DNZbCW4o0
>>174
こういうのが混じるからな。
末端は賢い人が作ったクラスライブラリだけ使っとけばいいと思うよ。
0188スーパーはくとくん(愛知県) [US]
垢版 |
2019/10/10(木) 00:14:17.74ID:rVYhCkCx0
クラスを使うことのメリットって何?
0189しんた(東京都) [GB]
垢版 |
2019/10/10(木) 00:23:52.30ID:IXnPzDhQ0
保守しやすさとチーム開発のしやすさじゃないですかね
0190エコまる(北海道) [UA]
垢版 |
2019/10/10(木) 00:25:33.38ID:PzWJPf0R0
データーレコードに振る舞いをぶち込んだ
0192エコまる(北海道) [UA]
垢版 |
2019/10/10(木) 00:29:27.60ID:PzWJPf0R0
>>174

吉田なんたらさんの青い本を思い出した
0193星ベソママ(茸) [ニダ]
垢版 |
2019/10/10(木) 00:31:24.22ID:Yl0YYliD0
>>191
おれも
0195ミドリちゃん(東京都) [ニダ]
垢版 |
2019/10/10(木) 00:57:36.10ID:JbUC1gLt0
>>108
せめて関数にしろよバカたれ!
お前の知能じゃクラスが分からないならな
0197エネモ(静岡県) [CA]
垢版 |
2019/10/10(木) 01:04:26.83ID:H9e+aBJN0
デンジャラス度だろ
0198ポン・デ・ライオンとなかまたち(山梨県) [HK]
垢版 |
2019/10/10(木) 01:05:24.11ID:AW4BnQFe0
>>11
俺もこれしかわからなかったわ
0199テット(神奈川県) [DE]
垢版 |
2019/10/10(木) 01:29:23.67ID:j3R3N9DG0
>>152
節子、それ、クラスやない。カラスや。
0200むっぴー(空) [JP]
垢版 |
2019/10/10(木) 01:36:59.79ID:bK7jyxTh0
>>196
犬で言えば
クラスはチワワって犬種
インスタンスは実際に飼ってるチワワ
0201メロン熊(兵庫県) [US]
垢版 |
2019/10/10(木) 01:39:21.00ID:g8r6u0vP0
scp-45451919.jp
0202カッパファミリー(家) [NL]
垢版 |
2019/10/10(木) 01:45:47.80ID:70GeIIdm0
クラスとはあるオブジェクトの群に共通した特性です
オブジェクトとは、何か内と外の境界で区切られ、外とのやり取りが決まっている物です
そもそもオブジェクト指向でクラスは同じような特性を持つものを一括して扱う手段に過ぎず
大事なのはオブジェクト。
問題を切り分けて解決方法を構築する方法として如何にしてオブジェクトに分割するかこそが大事

クラスとは、オブジェクト指向で楽をする枝葉末端の手段の一つに過ぎない
0203かわさきノルフィン(埼玉県) [US]
垢版 |
2019/10/10(木) 02:03:11.52ID:gim5AmnH0
関数を定義できるようにしたstructだよ
0204さんてつくん(東京都) [IT]
垢版 |
2019/10/10(木) 02:19:05.83ID:0KwIybq50
いわゆる開発できないSEなんだが、感覚的には大体理解してるけど
うまく言語化できないわ
0205狐娘ちゃん(日本) [SE]
垢版 |
2019/10/10(木) 02:26:02.31ID:r74t4CkF0
C言語のメモリ管理バグを減らすために考案されたんで
Cのメモリ管理の難しさを知ってないと何がすごいの?としか思わん
オブジェクト指向な作りはCでもできた
0207陸上選手(東京都) [AU]
垢版 |
2019/10/10(木) 02:33:34.67ID:smyFAmfG0
適度にカプセル化・ブラックボックス化できれば手法は何でもいいよ
マイクロサービスに分割してAPIで疎結合にするのも大きい単位でのカプセル化・ブラックボックス化
0209レインボーファミリー(神奈川県) [ニダ]
垢版 |
2019/10/10(木) 02:51:40.68ID:lF3+k0y00
>>196
モデルを実体化したもの。
戦車を破壊するゲームでは、
戦車クラスが設計図で、戦車1、戦車2、戦車3・・・みたいに戦車の実体(インスタンス)作って敵の戦車がうじゃうじゃ出来る感じ。
0210ラジ男(茸) [US]
垢版 |
2019/10/10(木) 03:03:19.04ID:SjytlgUJ0
>>119
許してやれ
教えてやりたい病気の人もいるんだからな。
0214カバガラス(SB-Android) [BR]
垢版 |
2019/10/10(木) 05:57:50.54ID:JOGya6bI0
「オブジェクト指向」のことを論じても分からなくなるだけ。
「オブジェクト指向プログラミング」か「オブジェクト指向設計」か切り分けて考えるべし。
0215ほっくん(ジパング) [BR]
垢版 |
2019/10/10(木) 06:30:16.39ID:XvpbTnO80
>>205

newとdeleteのこと?
オープンソースなんてほぼほぼCだしC++をCに書き直してるものさえある。
使いどころだよね
0216ぴちょんくん(茸) [CA]
垢版 |
2019/10/10(木) 06:37:08.16ID:68vHgQ9l0
人格的に立派な人、立ち居振る舞いが洗練されてる人をhe is a class. he is classy. って言うね
0217セフ美(栃木県) [NO]
垢版 |
2019/10/10(木) 06:49:17.23ID:7m1PHq6t0
クラスとインスタンスはなんとなくわかるんだがオブジェクトがよくわからん
0221アイミー(ジパング) [US]
垢版 |
2019/10/10(木) 07:22:35.07ID:EwmNgB/b0
わりかし理解してる人間に解りやすく説明してもらったら、クラスの説明が始まったと思ったらinterfaceありきで進んで、急に移譲と継承が出てきた
市販本読んだら似たような感じで焦った
C組み込み系の人間にはオブジェクト指向は使いこなせない。結局Cライクに記述してしまう。
0223やまじちゃん(SB-iPhone) [US]
垢版 |
2019/10/10(木) 07:37:40.35ID:WO7M5KDB0
>>156
VBA(VB6)のクラスは継承ができない。
モジュールとの違いはインスタンス化しないと実行できないから一応メモリの節約にはなる。
モジュールはstaticクラスみたいなもんだな。
0226白戸家一家(大阪府) [CN]
垢版 |
2019/10/10(木) 08:07:54.59ID:4BuJ5WV/0
オブジェクト指向も理解出来ない奴は何をやっても駄目!
0227レビット君(東日本) [ニダ]
垢版 |
2019/10/10(木) 08:23:30.73ID:MrFXyVAg0
>>164
一括変更しろよ
0229らじっと(茸) [US]
垢版 |
2019/10/10(木) 08:41:47.30ID:91F4FKuC0
コード再利用を考えてるならオブジェクト指向で作っといたほうが後で楽ってくらい
0230チョキちゃん(東京都) [ニダ]
垢版 |
2019/10/10(木) 08:52:17.30ID:4/9Hx9w50
形而上学でいうところの実体だよ
0231うずぴー(長野県) [HU]
垢版 |
2019/10/10(木) 08:54:24.58ID:OsqAcRvn0
プログラムのことを難しく言っただけでしょ。所詮コードだし
0233サン太郎(日本) [US]
垢版 |
2019/10/10(木) 09:12:09.38ID:/U7GGKz60
そのへんが分かったつもりでJavascriptで書こうとするとドヒャーとなる

話は変わるが、いわゆる『大手SI』のパッケージ(Java)でマルチスレッドの概念がない
クソコードで性能が出ない(システム全体で1スレッドしか動いてないんだから
何億のサーバを客に買わせようが性能が出ない)出ないと騒いでいた
これが2005年ごろの話

「Javaにはマルチスレッド機能があるんだから多重度を上げればいい」と誰かバカが言い出し
(多重度とは本来MVSなどIBMのメインフレームで同時に実行するジョブ数を意味する)、
やってみたところスレッドセーフティなど知るはずのない「アーキテクト」が作った
「コーディング規約」に基づいて全体が書かれていたもんだから異常処理の嵐

そこでバカなPMがこの問題に「static問題」というレッテルを貼った
これが2010年頃

この名前がどこから来たのか大多数には分かるだろうが、クラスメソッド (クラス宣言の中でstaticで定義する) を使うと
複数インスタンスを作ったときの挙動が分離されないことによる

The Gang of Fourが"Design Patterns"でシングルトンパターンを提示したのが1994年
それから15年経っても日本の大手SIにはその内容が伝わってもいないどころか
本質的な機能が「問題」呼ばわりされている

そのパッケージは現在も基本的に同じ仕組み、つまりド素人の思いつき設計で動いている
デザインパターンの影響を受けた何らの形跡も見られない

日本中の多くの自治体はこんなものを高いハードと抱合せで買わされて税金をドブに捨てている
人口30万の市だったらたぶんセットで10億ぐらい
これを5年で買い換える
0234バンコ(東京都) [GB]
垢版 |
2019/10/10(木) 09:12:36.35ID:E+GtsSCO0
箱物
0235ハービット(茸) [ニダ]
垢版 |
2019/10/10(木) 09:15:21.53ID:MuZhY+mY0
>>229
それもなぁ
大半のシステム開発なんてまず1点物だし
再利用なんかまずしないから
フレームワーク開発してる連中にまかせてりゃいい話じゃね
0237狐娘ちゃん(日本) [SE]
垢版 |
2019/10/10(木) 09:27:25.46ID:r74t4CkF0
>>215
C++では当たり前のように一体化されてるけど
Cだとコンストラクタとデストラクタが自動で実行されない
末端のコーダーが忘れずに呼び出す必要があった
漏れが1箇所でもあれば破綻する
0238しんちゃん(埼玉県) [IT]
垢版 |
2019/10/10(木) 09:37:18.24ID:iw4LhSnm0
最近、継承が悪者扱いされすぎてて辛い
そりゃ、has-a的な関係では使うべきじゃないだろうけどさ

どうでもいいが、うんこしないアイドルは人間クラスではないと思う
0239しんちゃん(埼玉県) [IT]
垢版 |
2019/10/10(木) 09:40:27.89ID:iw4LhSnm0
>>205, >>237
しったか乙
ライブラリのstdやboostのsmartポインターがだいぶ後に実装されるまでは、
C++だってポインタの管理は大変だったんだぜ?
0240デンちゃん(ジパング) [US]
垢版 |
2019/10/10(木) 09:47:24.77ID:hkXmcYT00
人間に例えると二重らせん構造を織り成すDNAかな。
それは神(俺)が定めた運命でありクラス(聖典)なのだよ。
0241のんちゃん(神奈川県) [US]
垢版 |
2019/10/10(木) 10:05:27.10ID:dL7r9kRO0
>>1
>正気を保つには Motif を使うしかないんだ。
俺直接使ってネットワーク越しにチャットと画面共有するシステム作って使ってたぞ1995年頃だったかな
0242マカプゥ(東京都) [IN]
垢版 |
2019/10/10(木) 10:10:08.72ID:bWNAcuXG0
オブジェクト指向でなぜつくるのか
を今日買いに行くぜ。
0244うずぴー(長野県) [HU]
垢版 |
2019/10/10(木) 10:21:05.39ID:OsqAcRvn0
業務処理ではオブジェクト指向で作る必要性なんてまずないし
0245肉巻きキング(茸) [US]
垢版 |
2019/10/10(木) 10:31:26.72ID:YOlQgxOI0
>>221
いやいや、そもそもモジュール分割をちゃんとしましょう、というところから生まれたのがオブジェクト指向だぞ
Cでもオブジェクト指向ライクにかける
ハードウェアの設計でもオブジェクト指向は適用できる

「オブジェクト指向言語の機能を使うこと」は
「オブジェクト指向設計」と等しくは無いんだよ

オブジェクト指向言語が産まれる前から、オブジェクト指向設計の概念はあったんだ
そうじゃないとオブジェクト指向言語なんて産まれないはずだろ
0246タマちゃん(大阪府) [RO]
垢版 |
2019/10/10(木) 10:34:01.16ID:32mfgTOX0
真のオブジェクト指向はプロトタイプベース。
クラスなど無用の長物。
0247サン太郎(日本) [US]
垢版 |
2019/10/10(木) 10:42:45.52ID:/U7GGKz60
GOTOでそこら中に飛び回って制御が追いにくい → 構造化プログラミング

データとロジックが別々に管理されているので追いにくい → オブジェクト指向
0249藤堂とらまる(東京都) [US]
垢版 |
2019/10/10(木) 10:44:41.08ID:MDakQi1x0
Xwindow(widget)とMotifで組んでたよ
確かにあの頃は単価が高かった
今は楽だなUIだけじゃ食えない
0250ラビリー(東京都) [US]
垢版 |
2019/10/10(木) 11:30:53.12ID:5B75OmTv0
そもそもオブジェクト指向ってどういうプログラミングなの?
wiki見てもチンプンカンプンだしだれかサルでもわかるように説明してくれよ
0251肉巻きキング(茸) [US]
垢版 |
2019/10/10(木) 11:37:27.75ID:YOlQgxOI0
>>250
データと処理を、システム化対象領域の物事=オブジェクトの単位でまとめてモジュール化する、という設計手法
0253肉巻きキング(茸) [US]
垢版 |
2019/10/10(木) 11:49:20.24ID:YOlQgxOI0
プログラマがやりがちなのは、
「処理が似てるから」
「データが似てるから」
という理由で共通化してしまう

その似ている理由が、システム化対象領域において本質的なものであるならいいんだが、
そうでなく、たまたま似てるだけかもしれない

似てる事に本質的な理由があるのであれば共通化しても構わない
でもそうでなく、たまたま似てるだけなら、そのような共通化はシステムに「必要のない複雑性、依存性」を導入する行為かもしれない

例外的で、その場しのぎで行き当たりばったりな仕様が混入してしまう事を避けようとしてるんだよ
0255カナロコ星人(SB-iPhone) [US]
垢版 |
2019/10/10(木) 11:56:08.74ID:gexUMmbl0
役割単位にクラスを作り、各クラスは外部との関連性を極力排除して独立性を高める作り方。
例えるなら、プログラムを電子ブック的に部品として使う手法の一つ。
メリットとしては、一度作成したブロックは他のシステムでもそのまま組み入れて使えるから、やればやるほど使えるブロックが増えて後のお仕事が楽になって行く。
デメリットとしては、その場しのぎで関連性を排除し切れて無いと意味が無いから作るのにそれなりの手数が掛かる。
0256ほっくー(大阪府) [US]
垢版 |
2019/10/10(木) 12:09:56.00ID:qp6BAp9x0
日本はカスタム業務システムが多くてクラス化のメリットあんまなくね?
0257肉巻きキング(茸) [US]
垢版 |
2019/10/10(木) 12:23:50.17ID:YOlQgxOI0
>>256
業務システムで使うのは、データベース設計の時だと思う
概念クラス図とかER図とか作るモデリングの工程ね

よくできたデータベース設計というのは、
実装する機能名と、その機能が使用するテーブルさえわかれば、処理の内容がほぼ想像がつく

逆に悪いデータベース設計は、まるで関係なさそうなテーブルの更新まで要求されたり、
機能ごとに使用するテーブルのリストを作ってみると、全部の機能で使用するテーブルが全く同じで区別がつかなかったりする
0258パステル(SB-iPhone) [ニダ]
垢版 |
2019/10/10(木) 12:37:18.46ID:nWILON8F0
オブジェクト指向の特徴である継承も多態性もカプセル化も全部あたり前に使うでしょ
クラスに責務を定義して、その振る舞いはインタフェースにしとけばテストしやすい

複雑なシステムではテストコード使わないとバグだらけになるし、リファクタリングできない
テストコードを書けるクラスというのはそのクラスの責務や振る舞いがちゃんと定義されているものだけ

クラス使えばオブジェクト指向ではなくて、
ちゃんとデザインパターンとかSOLID原則を学べばオブジェクト指向のメリットを享受して描けるようになる

>>242
それオススメ
0260暴君ベビネロ(東京都) [US]
垢版 |
2019/10/10(木) 12:46:07.02ID:Krod9MFI0
>>250
チンプンカンプン→分からない
チンチンプンプン→分かる

この様に似たものをまとめると分かりやすくなる
だからプログラムも似たものをまとめようって発想
0261スーパー駅長たま(千葉県) [US]
垢版 |
2019/10/10(木) 12:53:02.74ID:bVWET4kz0
同じ目的に使われる関数と変数をクラスでひとまとめにしちゃえば
他のプログラムに同じ機能を流用したい時にコピペが楽でしょみたいなノリ
必ずしもコピペする訳じゃないけど、再利用しやすい
0262うずぴー(長野県) [HU]
垢版 |
2019/10/10(木) 13:05:23.93ID:OsqAcRvn0
>>250
例えばプログラムAと似たようなプログラムBを新たに作るときに
従来型であれば物理的にソースをコピーして作るが
オブジェクト指向であればプログラムBは独自の処理だけ作って後はプログラムAの
を再利用したりと。業務処理であればあまりない
納得できないし理不尽だろうが納得するしかないw
0263モアイ(ジパング) [TW]
垢版 |
2019/10/10(木) 13:47:22.78ID:+rA6C1P10
>>223
継承無くても良いけどね
それほど高度な事しないならVB6(VBA)までのクラスモジュールでも十分
0264どんぎつね(東京都) [BE]
垢版 |
2019/10/10(木) 13:48:28.31ID:V4iu6v1/0
>>258
結城さんのデザパタも購入済
0265なまはげ君(東京都) [CN]
垢版 |
2019/10/10(木) 14:56:20.16ID:FlXvp7Bq0
>>1
プログラムを中心に考えるのではなく、
データを中心に考えるのがオブジェクト指向。

転じて、扱うデータの型(構造体)と、
そのデータに対して行う処理(入力、変更、削除、参照など)のプログラム全部を
1セットの部品にまとめたのがクラス。


て理解で合ってたっけ。
0266イッセンマン(東京都) [ニダ]
垢版 |
2019/10/10(木) 21:21:35.33ID:+wmr+2Xa0
>>253
同意
0267ののちゃん(大阪府) [DK]
垢版 |
2019/10/10(木) 21:39:08.89ID:i6SwI/2r0
>>124
犬と猫の構造体orクラスがあって
犬.喜ばす()
猫.喜ばす()

と実装するのと

喜ばす(&猫)
喜ばす(&犬)

と実装するのとで
どっちが実装すっきりするか考えてみよう
更にここに兎が追加されたらどうなるかな?
0269やまじちゃん(東京都) [US]
垢版 |
2019/10/10(木) 22:53:02.07ID:eI5I79iM0
>>267
犬をよろこばせるのは
犬以外の何かだろ

人.喜ばせる(犬)

が自然
0270あんらくん(神奈川県) [US]
垢版 |
2019/10/10(木) 23:07:21.35ID:BBtzNYxm0
go書いてみろよ、どんだけ大規模モノリシックな旧態依然システムに向かないかわかるから
0271レオ(愛知県) [ニダ]
垢版 |
2019/10/10(木) 23:19:59.45ID:hWbwKOBU0
男.喜ばす(女)
男.喜ばす(男)

女.喜ばす(女)
女.喜ばす(男)

喜ばすメソッドは引数によって異なる
男クラス、女クラスのベースクラスは人間クラス
人間クラスは様々な喜ばすメソッドを知っている

男と女の喜ばすメソッドは知っているが、兎は知らないので追加する
こうして喜ばすメソッドは肥大化していく
0273バスママ(調整中) [ニダ]
垢版 |
2019/10/11(金) 00:02:55.68ID:hIeacpZ+0
日本語は、オブジェクト指向と相性がいいはず。
フォルダを右クリックすると出てくるのが
フォルダクラスの(公開)メソッドで、
フォルダを削除する
フォルダをコピーする
フォルダを開く
フォルダを移動する などなど
この場合、
「を」だから目的語は「フォルダ」
なのに、「が」〜する。みたいなメソッドを作っちゃうと訳が分からなくなる。
0275ヤマギワソフ子(茸) [NO]
垢版 |
2019/10/11(金) 09:09:45.90ID:Ln8PrwEk0
この手の解説を色々見てきたがどれも説明が下手すぎる
何かに例えたり専門用語並べたり本質から逸れて長々と持論展開したり
0279ホッピー(光) [ニダ]
垢版 |
2019/10/11(金) 09:20:09.77ID:YrmuTsXc0
感覚で理解しろ
0280ちゅーピー(日本) [US]
垢版 |
2019/10/11(金) 09:25:50.53ID:RQkAK5VF0
GUIはオブジェクト指向で書かないと収集がつかんようになる

何もないデスクトップが全体の親 (root)
アプリケーション(例えばブラウザ)は例えば「ウィンドウ」
ブラウザのタブやボタンやスクロールバーも全部「ウィンドウ」
子「ウィンドウ」は親「ウィンドウ」に含まれるという形で、どの一つの子をとっても親がある
サイトの中身が表示されている部分はDOMで、これも階層構造 

そしてそれぞれの「ウィンドウ」は少しずつ挙動が違う
0283ちゅーピー(日本) [US]
垢版 |
2019/10/11(金) 09:41:38.28ID:RQkAK5VF0
>>282
分かっとるがな

イベントのエスカレーションや各オブジェクトにイベントリスナーのあるあたりからが分かりやすいオブジェクト指向
0284バザールでござーる(愛知県) [ニダ]
垢版 |
2019/10/11(金) 09:58:16.21ID:w5/zTsWX0
>>279
まあプログラミングパラダイムの歴史を分かってないと感覚的には理解できないだろうな
何を中心にして考えるかで概念が進化していく

手続き型ではメソッド中心
データ指向ではデータ中心
オブジェクト指向ではメソッド+データ中心

つまり構成要素をどう定義するかということだ
0285ブラット君(茸) [FR]
垢版 |
2019/10/11(金) 10:03:24.56ID:wRM1skj50
データ型を拡張する方向で考えようというのがオブジェクト指向でそのためにあるのがクラス。
ビルトイン型に加えて独自定義型を考えましょうということで、そうして作ったクラスは再利用できる可能性が高いよ、ってこと。
0286ラジ男(東京都) [MX]
垢版 |
2019/10/11(金) 10:35:34.71ID:TaPYmD/Y0
コピー出来て機能も追加出来る関数の集まりって認識じゃダメ?
0287和歌ちゃん(神奈川県) [US]
垢版 |
2019/10/11(金) 10:48:15.06ID:XIgKMePI0
美少女クラスをインスタンス化したい
0291さっしん動物ランド(静岡県) [US]
垢版 |
2019/10/11(金) 12:23:21.16ID:3f4SJXSs0
継承は便利。
継承元を変えると、継承されるクラスに新機能が勝手に加わるからね。
継承がないと「このソース変えて、これも変えて」と面倒臭い。
029677.ハチ君(兵庫県) [US]
垢版 |
2019/10/11(金) 22:27:39.53ID:8r1q/Es30
VBAのクラスに継承がないのはまだ許せる
コンストラクタに引数渡せないのが糞
0297ケズリス(東京都) [ニダ]
垢版 |
2019/10/12(土) 10:30:47.17ID:lYTRQNxm0
このクラスで一番の美人の隣を
■ このスレッドは過去ログ倉庫に格納されています

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