oop

1: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:23:07.59 ID:S2muw1Ln0.net

手続き指向から入ってオブジェクト指向を理解するのは至難の業
そもそも個人レベルではオブジェクト指向なんて必要ない
というかわざわざ遅く書く必要がどこにあるのか


スポンサードリンク

2: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:23:32.02 ID:Mo8Uaubu0.net

そうだね!


4: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:24:07.35 ID:Whyimmaqi.net

継承!継承!


5: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:25:20.35 ID:S2muw1Ln0.net

継承とか何の為にあるんだよ
継承使って再利用できるもの作るとか無駄にも程があるだろ


6: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:25:22.67 ID:LPo/Zdke0.net

新しい要素をどんどん追加できるよ


9: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:26:27.47 ID:S2muw1Ln0.net

別にオブジェクト指向じゃなくても追加できるね
手直しの手間なんてプロジェクト単位で見れば微々たるものなんじゃないのか


10: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:26:47.16 ID:LPo/Zdke0.net

継承は因数分解みたいなもん
同じコードを何度も書いてられないでしょ


11: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:28:05.32 ID:S2muw1Ln0.net

何度も使えるもの書くと汎用過ぎて骨しか残らないよ
クラスよりパターンを所持してたほうが効率的だね


13: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:29:26.04 ID:LPo/Zdke0.net

そうじゃなくて、修正が必要になったとき、全箇所修正が必要になるじゃん
継承しとけば、修正箇所は1つですむ


15: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:31:17.62 ID:S2muw1Ln0.net

教科書そのままな答えだな
全箇所修正が必要なプログラムなんて書かないわよ
定数やらブロック分けである程度の変更には対応できるわ


16: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:31:31.93 ID:EEeh+eon0.net

いや無駄だと思うなら使わないでいい
staticおじさんの位にいるならともかく趣味なら誰にも迷惑かからないしね
書きたいように書いた方がストレスねーべ


18: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:32:37.46 ID:S2muw1Ln0.net

>>16
使えるようになりたいの(´;ω;`)


12: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:29:04.27 ID:S2muw1Ln0.net

(本当はオブジェクト指向使ってみんなと仲良くしたいの…!)


19: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:35:39.01 ID:S2muw1Ln0.net

たまに考えるのさ
ファイル毎に分けたモジュールもファイルをオブジェクトに見立てればクラス化できるんじゃないかって
そんなに甘くなかった


20: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:37:25.48 ID:DTwxUkcP0.net

ファイル単位じゃなくてリソース単位でクラス化するのがいいよ


21: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:38:46.41 ID:S2muw1Ln0.net

リソースの分け方が分からんのです
というか振る舞いでつまづいてる


22: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:43:00.98 ID:DTwxUkcP0.net

無理せず一つの変数を管理するクラスから始めればいい
たとえばファイルストリームを管理するクラスで


class File 
{ 
FILE *fp; 
public: 
FILE *get() { 
return fp; 
} 
void open(const char *pathname) { 
fp = fopen(pathname, "rb"); 
} 
void close() { 
fclose(fp); 
} 
}; 

とか
振る舞いは自分が手続型でやることをそのまま定義してやればいい


23: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:48:31.30 ID:S2muw1Ln0.net

>>22
そこらへんはやってみた


25: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:51:56.59 ID:InTI2G9g0.net

こだわりすぎるのはバカだけど後の資産にするためにある程度はやった方がいいんじゃないの


26: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:53:18.79 ID:S2muw1Ln0.net

やれるもんならやりたいさ


27: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:53:56.62 ID:InTI2G9g0.net

ならいっぱい勉強してやりましょう


28: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:54:44.66 ID:S2muw1Ln0.net

既に詰んでおります
ググり尽くした


32: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:02:28.94 ID:DTwxUkcP0.net

俺も>>1が何が分からないのか分からない


30: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:57:30.47 ID:S2muw1Ln0.net

読めるけど書けないってあれだ
書き写しはできるが自分で新しいクラスを作る能力がない


31: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 17:59:06.33 ID:mQ4gJRx80.net

UNIX哲学っていうのをググってみるといいかも
そこに書かれていることが高尚すぎて人類には不可能に思える
それでもプログラムを組む人達の唯一の希望がオブジェクト指向


57: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:29:20.85 ID:ylnBSdBq0.net

おれはオブジェクト指向を知った時その思想がすごすぎて失禁しかけた
もう道具は用意されてるから使うだけやがな


33: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:07:40.84 ID:S2muw1Ln0.net

実際に書いたものを見せて手取り足取り直してくれる人が必要だ


34: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:09:25.54 ID:S2muw1Ln0.net

なんか課題だしてよ
俺が書いたのとそっちが書いたのを見比べて直したい


35: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:13:18.50 ID:6nnwuJmzi.net

テトリス


38: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:15:28.16 ID:S2muw1Ln0.net

それはきっぱり無理


39: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:16:03.47 ID:IfO7LliQ0.net

かわいい


43: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:19:09.63 ID:wskRk3QE0.net

テトリス作るんじゃなくてクラス図書くだけでいいんじゃねえの
俺も見たい


44: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:19:53.94 ID:S2muw1Ln0.net

だったらギブアップ
なんも思いつかない


48: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:22:04.90 ID:uZK6W0S40.net

よく使う機能なんて殆どクラスライブラリ化されてるから、
末端アプリのプログラマーはせいぜい構造化プログラミングの延長としてクラスを作るくらい・・・・

継承駆使して何度も使いまわせるようなコアクラスなんてどこに出てくるのぉって感じ


45: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:20:48.85 ID:IfO7LliQ0.net

UMLは書けるかい?


47: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:21:35.78 ID:S2muw1Ln0.net

棒人間と矢印のあれか
書けないです


49: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:22:18.18 ID:DTwxUkcP0.net

電卓アプリでいいな?


50: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:22:32.88 ID:S2muw1Ln0.net

ぜひぜひ


55: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:26:27.54 ID:DTwxUkcP0.net

>>1は書かないの?


56: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:28:02.34 ID:S2muw1Ln0.net

クラス図の書き方が分からなかったググってくる
というか設計とかしたことがなかったな


58: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:29:34.72 ID:DTwxUkcP0.net

ひょっとしてコードじゃなくてUML書くことになってる?


60: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:30:57.63 ID:wskRk3QE0.net

>>58
コードも見たい


61: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:31:10.96 ID:S2muw1Ln0.net

じゃあコードにしよう
ちょっと書く前にお夕飯


63: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:31:41.35 ID:S2muw1Ln0.net

仕様だけ書いてくんろ


64: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:35:45.06 ID:DTwxUkcP0.net

仕様は自由でいいよ


65: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:43:03.38 ID:S2muw1Ln0.net


66: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:46:40.38 ID:TONb2CWK0.net

俺も>>1と同じでオブジェクト指向の何が良いのか分からないわ
確かにstringクラスとかかなり便利だけど自分の作るものにクラス化する必要のあるものが見つけられない
C#ならスラスラ書けるんだがC++に戻ると使わなくなってる


68: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 18:54:19.50 ID:Ak4Ye7zsi.net

オブジェクト指向で修正も拡張も少なく済みます!

修正すると他のところにも影響あるのでテスト工数が多めにかかります!
↓   ↑
無理矢理実装して、他に影響無いようにします!

そしてカオスコードへ


71: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 19:09:36.09 ID:yhkt2bjY0.net

オブジェクト指向ってのはさあ
つまりは差分プログラミングなんだよ
限界まで楽しようとしたいわけ
リソースを死ぬほど使い回したいわけ

全部自分で面倒みるならシーケンシャルの方がいいよ


76: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 19:23:00.78 ID:DTwxUkcP0.net

俺は>>1を待ってるんだがそんな大掛かりなもの作ってるのか?


82: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 19:43:17.80 ID:S2muw1Ln0.net

落ちてなかった
もうちょっと待ってね


84: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 19:47:13.50 ID:uLk5HXV/0.net

なんとなく保守


86: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:00:25.23 ID:S2muw1Ln0.net

うわぁ時間かかるぅ


89: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:08:43.34 ID:S2muw1Ln0.net

よくわかんないことになってきたゾ~


91: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:12:22.36 ID:S2muw1Ln0.net

もうちょい


92: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:19:07.55 ID:S2muw1Ln0.net

ももうちょい


93: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:23:52.18 ID:S2muw1Ln0.net

もうちょいと言ってもう10分


97: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:38:11.15 ID:S2muw1Ln0.net

ほぼできた
ちょっと待ってね


98: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 20:39:12.15 ID:S2muw1Ln0.net

細かなバクや打ち違えが


104: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:01:41.97 ID:S2muw1Ln0.net

できたあああああ


105: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:03:08.97 ID:IfO7LliQ0.net

おつ


106: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:03:45.71 ID:S2muw1Ln0.net

と思ったらイデオンでエラーなんでえええええ


109: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:08:30.40 ID:S2muw1Ln0.net

うちの環境では動いた!ドン
http://ideone.com/hXNyhf

もう慣れないことはしたくない


111: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:13:30.41 ID:h3LC+9R+0.net

下の方すごい事なってない?


120: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:25:58.85 ID:S2muw1Ln0.net

>>111
下って実行結果か
PCでは動いたけどideoneではダメだったようで


112: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:14:44.52 ID:S2muw1Ln0.net

見事なスパゲティです
fgetsに振り回された


119: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:25:23.18 ID:DTwxUkcP0.net

読んでるから待ってね


121: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:29:55.78 ID:S2muw1Ln0.net

圧倒的にコメントが足りなかった
お手数かけます


124: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:41:39.05 ID:DTwxUkcP0.net

うーん、全体的によく出来てると思うなあ


125: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:43:26.35 ID:S2muw1Ln0.net

(゚∀゚ )


128: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:51:46.82 ID:S2muw1Ln0.net

しかし出来てると言われてもしっくりこないのう


131: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:54:39.70 ID:DTwxUkcP0.net

なんと言うかシンプル過ぎてコメントしづらい


130: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:53:41.92 ID:DTwxUkcP0.net

二項演算するプログラムはオブジェクト指向で書くもんじゃないねちょっと冗長に感じる
汎用性を持たせるには元と演算子をもたせるInputterの親クラスを作ってそれをCalculaterに渡すようにするといいかも


132: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:55:54.08 ID:S2muw1Ln0.net

ほほう


126: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:46:20.50 ID:A7LbV1Tj0.net

デザインパターンとともに学ぶオブジェクト指向のこころを読め
10年前の本だが差分プログラミングとかその時点で
戯言だと断じられてるよ

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)
アラン・シャロウェイ ジェームズ・R・トロット
ピアソン・エデュケーション
売り上げランキング: 207,720

127: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:47:43.35 ID:S2muw1Ln0.net

デザインパターンならGoF本読んだよ
パターンが分かっても使いどころが用意できない


129: 以下、\(^o^)/でVIPがお送りします 2014/09/24(水) 21:51:46.84 ID:A7LbV1Tj0.net

>>127
オブジェクト指向のこころ本は、そこが他のデザパタ本と一線を画すとこなんだよ
デザパタは何かを説明してるんじゃなく、どこ何故でデザパタが必要になるかを説明してる


関連:Javaのオブジェクト指向をエヴァで例えると超わかりやすい

元スレ:http://viper.2ch.sc/test/read.cgi/news4vip/1411546987/