2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

オブジェクト指向プログラミング出来て、設計も出来る人来て。言語はなんでもいい。

1 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:12:32.671 ID:k1MlNfXGM.net
クラスの分け方がよくわからんのだが、どうやって判断しとるんや?

2 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:13:54.099 ID:gqIXyocf0.net
この世の中にオブジェクト指向プログラミングなんでできる人間はいない
わかったらデザパタの本でも読んでろ

3 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:13:55.017 ID:E45B/Vms0.net
何が作りたい

4 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:14:05.107 ID:zgFOvYUC0.net
高凝集で低結合にするんだってさ

5 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:14:42.517 ID:k1MlNfXGM.net
>>2
オススメおしえれ。デザパタの本とか売ってなくね?

6 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:15:01.758 ID:k1MlNfXGM.net
>>3
Webアプリケーション作りたい。

7 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:15:19.948 ID:k1MlNfXGM.net
>>4
なんか言葉が怪しいな

8 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:16:07.614 ID:qHnU4M2G0.net
気分で(´・ω・`)

9 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:16:50.363 ID:k1MlNfXGM.net
>>8
いやいや、設計時にはクラスは出来てるわけやろ

どうやってそんなことができるんや…

10 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:17:58.729 ID:piyhhXPgd.net
学校のクラスで例えると分かりやすかった

11 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:18:26.885 ID:k1MlNfXGM.net
>>10
その例えを教えてくれや…

12 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:20:35.730 ID:vzkaku0Q0.net
ここ分けよ!って思ったとこが分け時

13 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:20:44.319 ID:E45B/Vms0.net
https://tech.nikkeibp.co.jp/it/article/COLUMN/20051201/225570/

14 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:21:17.047 ID:k1MlNfXGM.net
>>12
いや、その感覚的なのやめようや

ある程度指標はあるはずやろ…

15 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:22:07.962 ID:zgFOvYUC0.net
GoFのデザパタって結構いい加減でまとまりがない
古いから仕方ないけど

16 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:23:09.841 ID:k1MlNfXGM.net
>>13
おぉ!読んでみるよ

17 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:23:20.629 ID:IdlIbxeh0.net
オブジェクト指向の時代はもうじき終わりを迎える

18 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:23:35.950 ID:k1MlNfXGM.net
>>15
え…ほなモダンな君はどうしてるんや?

19 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:25:06.027 ID:k1MlNfXGM.net
>>17
おいおい。そんな画期的なもんがあるわけないやろ



ないよね?

20 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:26:47.676 ID:E45B/Vms0.net
https://www.amazon.co.jp/dp/427405019X/ref=cm_sw_r_cp_apa_i_USioCbAM31CKW

21 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:27:45.537 .net
常に新刊のデザパタ本に目を通すに決まってんだろ

22 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:28:26.266 ID:k1MlNfXGM.net
>>20
サンキューやで

23 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:28:49.425 ID:k1MlNfXGM.net
>>21
新刊デザパタっねなんや?雑誌があるんか?

24 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:29:45.912 .net
将棋に新戦法の本でたら買って読まないとそれ使ってきた奴に勝てなくなるだろ
将棋でさえそうなんだからプログラミングなんてもっと絶えず新技法仕入れ続けるに決まってんだろ

25 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:31:14.104 ID:k1MlNfXGM.net
>>24
まぁそうなんやが…>>1を読んでくれ

最新の説明を求めてるんじゃないんだ。
お前らが今までしてきた方法や考え方を教えて欲しいだけなんや…

26 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:31:51.661 .net
>>23
ねえよ。本だよ。日本語訳待てなかったら英語で行くしかねえだろ
競争なんだよ

27 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:33:08.417 .net
エロゲーやりたいから日本語学ぶ外国人がいるのに
プログラミングやりたいから英語学ぶ日本人がいなくていいわけないだろ

28 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:33:35.014 ID:k1MlNfXGM.net
>>26
そういうことやな!
それはわかったから今までどうやって来たのか教えてくれや…

29 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:33:51.110 ID:q0VCBgRu0.net
関数型プログラミングこそが至高なり

30 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:34:36.320 ID:k1MlNfXGM.net
>>27
アメリカ人やったら、プログラムも日本語も出来てたはずやねん…

日本人やからエロゲばっかり得意になったわ…

31 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:35:37.030 ID:k1MlNfXGM.net
>>29
あれはあれでようわからん…

32 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:35:56.255 ID:85hbaW/L0.net
クラスをニューすればインスタンスが出来上がる
ただそれが

現実にあるものをインスタンスで実現する ← オブジェクト
架空のモノをインスタンスで表現する ← オブジェクトではない

ってだけだ
ところがこの理念をどんなに鍛えた人でも忘れちゃう

33 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:39:56.932 ID:k1MlNfXGM.net
>>32
この説明がよくわからん

例えばログイン機能をつけるとしてこいつはクラスになるわけや

でも、これは機能であって現実ではないわけや

こういう機能がいっぱいある中、どうやってクラス分けしていったらええんや?

34 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:40:56.562 ID:thtw+84Sd.net
MVCの最新版は結局何なの
MVVM? Redux? MVI? or something else?

35 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:41:41.356 ID:IdlIbxeh0.net
>>25
とりあえずC#で何かGUIアプリを作ってみればいい

んで何か共通の動作をするようなものを部品化してみて似たような部品があったら
そこを更に共通のベースクラスにして継承するとか

んでなれないうちはフィールドはすべてprotected
メソッドはクラス外から呼び出されるもの以外はprotected

なれてきたらこれはprivateにすべきかな?って気付く時が来るから
それまでは非公開メンバーはひたすらprotectedで書け

なんだかんだ最近色んな言語触ったがこういう学習する場合C#使うのが一番いいと思う

36 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:42:29.921 ID:85hbaW/L0.net
>>33
それ受付だろ
顔や名前をチェックして中に入れる
名簿に中に入った人を書く
中に客が入ったと社内に連絡する
社長や管理者が入ったらどうなる?
これを想像しろ

37 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:42:33.430 .net
is-a 関係、has-a 関係 レベルは理解してる?

38 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:43:27.036 ID:E45B/Vms0.net
物理的に存在するかなんて関係ない

39 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:44:06.991 ID:5dq2r//Jd.net
クラス名を聞いたらぱっと振る舞いがイメージできる単位にわけるといい
例えば「車」って言われたら「走る」「止まる」とかって動詞が勝手に出てくるだろ?
ってことはこのクラスは今後仕様変更が入ってもクラスのI/Fを変えなきゃいけないような事態にはなりにくく、
メソッドの中に影響が閉じるから保守性があがる

40 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:44:25.534 ID:k1MlNfXGM.net
>>35
まぁ作らな始まらんよな…

41 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:44:47.673 ID:k1MlNfXGM.net
>>36
どうもならんやろ…

42 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:45:20.629 ID:k1MlNfXGM.net
>>37
本読んだけどイマイチわかってないで

43 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:45:42.598 ID:85hbaW/L0.net
>>41
ログインでルートとゲストの違いも判らんか
じゃあ駄目だ
お前はプログラマーになれない

44 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:45:55.943 ID:zJu8ahHza.net
アスペクト指向だよ

45 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:47:00.997 ID:k1MlNfXGM.net
>>39
なんかちょっとわかった気がするで!

これは走るクラスと止まるクラス作るいうことでええんか?

46 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:47:43.284 ID:k1MlNfXGM.net
>>43
受付いうたやんけ!誰が受付来ても対応は変わらんぞ

47 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:48:07.586 ID:E45B/Vms0.net
>>45
class 車{
走る();
止まる();
}

48 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:48:19.981 ID:k1MlNfXGM.net
>>44
病気やんけ!

49 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:48:21.007 ID:IdlIbxeh0.net
正直変に車だの人だのをクラスにしてどうこうするよりも
GUIでフォームとかボタンとかテキストボックスの継承クラスを作ってみて挙動を変えるっていうのをやった方が有意義な経験値になる

50 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:48:36.500 ID:AoQe8LmkF.net
Sandi Metzの「オブジェクト指向設計実践ガイド」を読め

51 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:48:57.746 ID:k1MlNfXGM.net
>>47
なるほど!ちょっとわかったやで!

52 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:48:57.839 ID:vzkaku0Q0.net
>>45
ワロタ

53 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:49:30.814 ID:85hbaW/L0.net
>>46
職歴なしか
受付で管理者が来たら渡すIDが違う
そもそもログインとか言ってたけどセッション理解してんの?

54 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:50:41.885 ID:pRZm2nQM0.net
>>14
ぜんぜんわからない
俺たちは雰囲気でオブジェクト指向をやっている

55 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:51:11.522 ID:oP9pvT+Xp.net
部品化と再利用してりゃC言語だろうがオブジェクト指向設計だよと言ってみる

56 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:51:27.252 ID:bzTaP1I+0.net
オブジェクトとかクラスとかって殻は意外と堅い
後で割る必要が無いのが一番だけど現実は甘くない
だからって割られる前提で細かくしたりもわかりづらい
この辺りを意識しつつやって覚えるしかない

57 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:52:13.663 ID:5dq2r//Jd.net
ログイン機能って何にログインするのさ?
その「何」がクラスだよ
ログインはメソッド

58 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:52:20.805 ID:5AEQQm2D0.net
これ次に別のもん作るときに使えるやん
って感じで塊にするのがオブジェクト指向

そのでっかいやつがAPI

59 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:53:01.159 ID:k1MlNfXGM.net
>>53
Aさんって人がつこうてたら、お前はAさんやなっ!ってわかるやつやろ?

60 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:53:14.991 ID:k1MlNfXGM.net
>>54
そんなんで金もろとんのか!

61 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:53:31.524 ID:k1MlNfXGM.net
>>55
それは違うんじゃまいか?

62 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:53:40.177 .net
抽象的なまま考える力をつけて
物事は抽象的に考えて最後に具象化する
車、より、乗り物
辛子、より、スパイス。スパイスより調味料

63 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:53:44.443 ID:IdlIbxeh0.net
例えばボタンクラスの継承クラスを作ったとして
そのクラスのイニシャライズ時に処理追加してボタンに表示される文字をデフォルトでは赤になるようにしてみようとか
そういう地味なのでもオブジェクトを理解するのにはとてもいい

64 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:54:02.412 ID:85hbaW/L0.net
>>59
区別出来たら
管理者は入れる部屋も違うし権限も違うだろ

65 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:54:03.180 ID:k1MlNfXGM.net
>>56
君のいうてることは難しい(´・ω・`)

66 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:54:49.418 ID:k1MlNfXGM.net
>>57
システムにログインするんや…この時は何がクラスなんや(´・ω・`)

67 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:55:29.038 ID:k1MlNfXGM.net
>>62
これをプログラムレベルで考えるのが難しい…

68 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:55:58.175 ID:k1MlNfXGM.net
>>63
これもオブジェクトなんか?

69 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:56:13.289 ID:PIVc1wygM.net
奇妙な言葉遣いで何言ってるかわからん

70 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:56:34.616 ID:k1MlNfXGM.net
>>64
うんうん

71 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:56:54.963 ID:k1MlNfXGM.net
>>69
関西弁は初めてか?

72 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:57:03.167 ID:6enla/460.net
>>68
それもまたオブジェクトだね

73 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:57:13.445 ID:bzTaP1I+0.net
>>65
あーなんでこんなにデカくしたよ外に出せたこれとか
概念的に細かすぎて現実には似てるけどメンテ死ぬわとか
まあ色々経験するよねっていう

74 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:57:16.657 ID:k1MlNfXGM.net
>>72
そうなんか(´・ω・`)

75 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:57:52.969 ID:IdlIbxeh0.net
>>19
現代の二大モダン言語であるGoとRustでは少なくともオブジェクト指向的なデザインパターンは最適解ではないという事になっている

76 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:58:01.606 ID:k1MlNfXGM.net
>>73
その区分けはどうやるんや…君ら設計の段階からわかるんやろ?

77 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:58:47.227 ID:k1MlNfXGM.net
>>75
まじかよ。何志向なんや?

78 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:59:07.911 ID:5QG1l1xS0.net
作った後に編集を繰り返したらわかるよ
ここ分けとけば楽だったって

79 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 21:59:58.627 ID:k1MlNfXGM.net
>>78
そういうもんか…(´・ω・`)

80 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:01:16.475 ID:IdlIbxeh0.net
>>68
オブジェクト指向って既存の部品継承して一部の処理を上書き(override)してなんぼだよ

>>78
趣味で作ってるプログラムならそこで大胆に全書換えやるのが経験

81 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:01:22.427 ID:vCQWTYt50.net
GoF読め
GoFが古いとか言ってる連中は素人
んじゃお前の基準出せよと言うと黙るよ無能だから

82 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:01:41.274 ID:d/WWLiGo0.net
契約と責任で考えると分かりやすいかもな

一クラスの持たせるのは一つの役割って考え方

83 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:01:41.478 ID:bzTaP1I+0.net
>>76
時にトップダウン時にスパイラルであったりな思考で
修正予想しながら最終的には勘かなと
基本は現実に似せるらしいけども

84 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:02:53.032 ID:k1MlNfXGM.net
>>81
読んでみるよ

85 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:03:36.429 ID:k1MlNfXGM.net
>>82
よけいわからんくなったぞ!

86 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:03:54.884 ID:vCQWTYt50.net
>>45
そのレベルで設計できると言ってる奴らは素人だから無視しろ
ソフトはモノ+動作
モノだけがクラスだと思ってるのは素人

87 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:04:18.958 ID:5QG1l1xS0.net
>>79
楽になるってメリットが無いのなら使う必要ないでしょ
メリットより分ける手間暇が大きくなったら分ける必要がないって事

88 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:04:30.597 ID:sBlMKaOi0.net
なんでこんなできるやついっぱいおんねんvip

89 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:05:03.011 .net
本読んでプログラミングを百セットしろ
そしてまだ解らなかったらスレ立てろ

90 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:05:49.880 ID:5QG1l1xS0.net
>>88
知ってる奴は星の数ほどおるけど「本当にできる奴」はたぶんここにはいない

91 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:05:58.584 ID:vCQWTYt50.net
この1は今まで見た「オブジェクト指向教えてくれ」の中で一番優秀だ
すごいセンスある
お前はITに来い

92 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:06:05.610 ID:IJgpbHvh0.net
書いてる間にスレチになったかもしれんが>>36の言っているログインは多分こんな感じ
俺もオブジェクト指向詳しくないからあんま分からんがな
https://ideone.com/X863ND

93 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:06:57.379 ID:d/WWLiGo0.net
>>85
多分具体例で出すと分かりやすいと思うけど
俺が最近作ったのだと
計算してグラフを表示するソフト作ったんだけど
計算する部分とグラフを画面に表示する部分とグラフ表示にグラフのデータを渡す部分は分離したね
こういう風に、「一つのクラスは一つの役割を果たせばいい」という風にすれば拡張しやすい

94 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:08:00.523 ID:IdlIbxeh0.net
>>92
言語仕様上できるのは分かるがstructの中にメソッド書くなよ

95 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:08:18.761 .net
解んないって言ってる奴は大抵圧倒的にこなす数が足りてない
将棋で定跡本読んで、それでいきなり有段者に勝てると思ってんのか
定跡通りいかなくて本を投げつけて、指しまくって、ある日久し振りに床に落ちてる本拾って読み直してみたら、ああそういう意味で突き捨てんのかとかようやく解るんだよ

96 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:08:19.889 ID:pRZm2nQM0.net
>>88
やめろよ、照れるじゃないか///

97 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:09:04.732 ID:k1MlNfXGM.net
お前ら頭ええなあ

とりあえずプログラム書きまくるわ

あともう一つ教えてや。
設計する時はUMLっての使ったらわかりやすいんか?
UMLの本読んだけど、あんなんかける気せんし、めっちゃ量あるんやが…

98 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:09:53.756 ID:IJgpbHvh0.net
>>94
仕組みではなくソースコードに突っ込むのであればもっと突っ込むべき点はあると思うが
単に説明用に書きたかっただけだから書き方には特に気を配んなかったわすまんこ

99 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:11:18.686 ID:k1MlNfXGM.net
>>92
なるほど。わかりやすいな

100 :以下、?ちゃんねるからVIPがお送りします:2019/01/11(金) 22:11:42.300 ID:k1MlNfXGM.net
>>93
これは関数分けるだけでもええんちゃうん?

総レス数 265
75 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★