TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【DDD】ドメイン駆動設計【エリック・エヴァンス】
awkについて語るスレ $2
【wasm】ブラウザでC++。Emscriptenを語ろう
Pythonについて(アンチ専用)
【Electron】ハイブリッドアプリ開発総合【Cordova】
WPF(.NET4.x, .NET Core) GUIプログラミング Part24
■暗号技術【ROUNDsurea】■
C++相談室 part151
スレ立てるまでもない質問はここで 153匹目
Google NaCl プログラミング 2mol

クラスとかインスタンスってなんのためにあんの?


1 :2015/12/23 〜 最終レス :2018/07/04
関数だけでよくね?

2 :
クラスとかインスタンスとか存在しない関数だけの言語もあるんだからそれを使いたまえ

3 :
副作用を制するため

4 :
c+訳わからん

5 :
多人数で巨大なプログラムを作ったり保守したりするとき、
関数だけしかない言語では大混乱が起きて、出来上がるソフトの品質や人的リソースが足りなくなりつつあった
これがソフトウェア危機

これに対処し、もっと簡単に早く作れるように、便利なものたちがいくつか出来上がった
その一つがオブジェクト指向であり、クラスとインスタンスだ

6 :
>>5なるほど

1人で作るときには必要ないってこと?

7 :
ちなみにcommon lisp独学でやってるんだけどさ

ストリームってのがよくわからない

ただ単にreadとかの関数だけでやっててもなにも問題なさそうだと思うんだが

あとsbclでファイルにアクセスしようとするとアクセスが拒否されるのってどうにかならんの?

8 :
>>7あ、これ>>1

9 :
>>6
いらないよ

10 :
ゴミ

11 :
>>9
ありがとう

12 :
>>11
自分で把握できる程度で他に渡さないとしてらかと
まあモジュール指向的に作ると引き継ぎ楽

13 :
>>12
なるほど

ちなみに引き継ぎってどこからどこに引き継ぐん?素人ですまん

14 :
>>13
(企業によるが)同じ業務(仕事)を長年続ける事がないので、次の担当に業務を引き継ぐのにあれこれ説明が必要だったりする
新しい担当がプログラム経験ある人でもモジュール単位で纏まってると楽って話

自宅個人でやってるならまず無い

ちなみにアプリ開発系は複数人でプログラム組む事が多くて、規模が大きい程、人の入れ替えも激しい
そうするとプログラム作成のための規約書に細く書かれてるので、それに準拠して作成してく=引き継ぎも割と楽

15 :
こういう類いの質問をする奴には、自分で考えようとしないのが多い。

歴史的背景とかはいいけど、思想的な事は、悪いことは言わんから、自分で答えを探すようにしたほうがいい。

16 :
自分で答えを見つけた結果に
関数型最高オブジェクト指向いらね。みたいな産廃が生まれるんじゃん

17 :
こういう質問の答えは経験を積まないと理解できないから考えさせるのは酷だと思うの
effective c++とか読むのが一番いいんだろうけど

18 :
>>14
なるほど!!ありがとう!

19 :
>>15
効率の良い方を選んだんだけど、なんで自分から答えを探すほうがいいん?

20 :
>>16
ある程度のぼんやりした答えはないよりあったほうがいいと思ってね

21 :
>>17
あざすm(_ _)m

22 :
ウォターフォールの欠点を解消するためのOOP

23 :
>>22
専門用語わかりませんな

24 :
>>21
PC業界は初心者に上から目線で能書きを垂れる奴多い
てのが、このスレの流れで分かるでしょ
もし今から目指してるなら大企業のみにしとく方が良いよ

25 :
>>14
昨日の自分は他人だ。一時間前だって。

26 :
>>17
それはC++のハウツー本でしょ
内容が高度ってだけで

27 :
>>15
その思想の入り口が欲しいんだよ
素朴な回答が大きな一歩に繋がる
生暖かく付き合ってくれ

28 :
ID:auao+fea
典型的な他人にケチを付けたがる人

29 :
>>27
俺の頃はC言語主流でモジュール指向を意識してた
で、言語自体を突き詰めていくと今のC++形態が必然的に望まれるようになる
Windowsだと、これにOLE(とdll等)の思想を加える事でオブジェクト指向へと進む
ただ、アプリの言うところのオブジェクト指向とプログラミングのオブジェクト指向では意味合いが違う事も多いので、その辺は経験あるのみ

30 :
>>28
口調が違うだけで似た者同士だと思うけどなw

31 :
>>28
effective c++でクラスやインスタンスがなんであるか学べると思ってるの?
あれはc++に特化した本で、しかもクラス志向は弱く、汎関数志向が強く出てる本。

32 :
>>31
すまん、effective c++って書いたのは適当だったんだ
代わりにいい本紹介してあげてくれ

33 :
>>31
キツネちゃんの写真が写ってる本だろ。
君の言うことだいたい合ってるぜ

34 :
>>32
 Head Firstオブジェクト指向分析設計
でいいんじゃないの?
最初は広範囲に扱ってるのがいいだろうし。
安定のオライリーブランドで。
タイトルで警戒する人もいるかもしれんが、
バートランド・メイヤーさんの本みたいなやり過ぎ感はない。

35 :
>>30
否定するなら何か出さないとさw

36 :
>>29は内容が糞過ぎてスルーだったよw

37 :
ちなみに俺は>>1だけども、前に行ったようにcommonlisp独学でやってるのよ

で、sbclって処理系はファイルにアクセスしようとするとアクセスが拒否されましたって表示されるんだけど、これどうしたらいいの???

38 :
そういう明らかな環境依存のトラブルを自己解決できないレベルでなんでLispやってんの?
順序が違うからLispやめとけ

39 :
>>38
じゃあまず基本情報とか取ったほうがいいですかね?

40 :
>>25
だよ

時間が経つと自分一人で書いたコードでも忘れる

41 :
頭悪いだけじゃん・・・

42 :
>>39
長期的にはまず今使ってるOSについて詳しくなること
短期的にはサンプルコード/環境/ファイルの場所その他
を晒してから助言を求めること

43 :
引き継ぎの話をしてるのに>>25が何を言いたいのか分からない

44 :
>>37
大概のOSはフォルダやファイルにアクセス権が設定されてるから、
読み込みたいなら読み込み権限を
書き込みたいなら書き込み権限を
実行したいなら実行権限を
それぞれ付与する必要がある

まあ上の方が書かれてる通り、OS環境とサンプルは書いて質問した方がいいですね

45 :
>>44
>>42ありがとうございます

46 :
>>42Windows10なんだけどもそういうのは本とかで勉強するものですかね?

47 :
わざわざ身構えて勉強する程のコトじゃないよ
困ったことがあればエラーメッセージやエラーコードから検索してMS公式のFAQを見れば良い

大事なのはエラーがプログラム由来なのかそれ以外なのか見分ける事
基本的にファイルやフォルダってのはプログラムの外の世界(=OS)にある
だいたいアタリを付けてググれるようになれば無問題

48 :
これでぐぐるといろいろ出てくるよ
Windows ファイル アクセス権

49 :
こういうのは技術ではなくセンス

50 :
知識だろ

51 :
>>19>>27
調べれば正しい答えが出てくるような知識だけの問題なら、誰かに教えてもらう方が効率がいいのはわかるし、それでいいと思う。
しかし、思想・考え方の問題は、誰かの結論を教科書的に鵜呑みにしてるだけじゃ意味ない。
疑えというわけじゃなく、それを手助けとして、自分なりの納得できる結論を導いていけるならいいけどね。

こういう質問をする人は何となくそれが出来ない人が多かったもので、ついついw

52 :
条件分岐でどのdllを使うか決まるみたいなもんじゃだめなのオブジェクト指向って

53 :
>>1
今、プログラミング(C#)を勉強中だけど、素人なりにオブジェクト指向って便利だと思ってる
ずっと以前にPerlをちょっとだけ勉強したことがあるけど、そのときは
オブジェクト指向とかを理解する前にやめてしまっていた

以前は関数をずらずら並べてコードを書いてたけど、それが長くなってくると
全体を把握するのがしんどくなってくる
今は、クラスというもっと大きな単位で関数とデータをまとめるので、以前よりは楽に感じる
あとからメンテナンスするときも、読みやすく、内容を思い出しやすい

それから、似たようなデータに対してほぼ同じ処理をする場合に、Perlをやってたときは
コピペして同じような関数を複数作ったり、if文を並べたりしてた
クラスの機能をいろいろ利用すると、同じ関数を使い回せるので、コードがぐちゃぐちゃになりにくい

C#を勉強し始めたときは「オブジェクト指向って上級者向けで自分のような素人には
不要じゃないのか」って思ってた
だけど自分用のツールをいくつか作ってみて、むしろ俺みたいに優秀じゃない人間でも、
混乱しにくく、読みやすく、プログラミングしやすくなるような仕組みなんだと感じてる

54 :
>>53
ありがとう!

55 :
>>53
日記に書いてろゴミカス

56 :
オブジェクト指向ってバカ向きだよな。
ボタンを押すだけだもん。
猿だよ猿

57 :
バカでも扱えるんなら
それは素晴らしいじゃないか

58 :
ピアノってバカ向きだよな。
ボタンを押すだけだもん。
猿だよ猿

59 :
プログラムも馬鹿向きだよなw

60 :
バカには理解できないからバカに見えるだけだけどな!

61 :
パソコンって馬・・・

62 :
世の中には >>55 みたいなしょうもない糞、Rばいい糞、何の価値もない糞
がいるもんだなw


お前、あの、どこかの掲示板でえらそうにしてた「あ」クラスの屑か?

63 :
uyというのは概念であって
インターネット上のリソースはすべて「uy」クラスから派生してる事も知らねーとか流石に草

64 :
「uy」という存在は、
ちょっと冗談きついレベルの初心者や痛い奴を
丁寧な言葉で分からせるのが面倒そうだな・・・ って時に出現する「何か」です
ム板は「uy」の存在によって余計な長文を書く手間が省く恩恵を受けています

65 :
>>53
日記に書いてろゴミカス

66 :
>>63
>>64
しね

67 :
>>53
iOSとかのためにObjective-C始めると
あれ、関数にあたる単位をオブジェクティブに扱うのに特化したCだから
"あったら便利"とかいう域を超えて"息をするようにオブジェクト指向"で
最初、サンプルコードがまったく読めないw
言語仕様じゃなくてクラス(フレームワーク)の方で機能実現してて
「あれ呼んでこれ渡して。ね、簡単でしょ?」「わかんねーよw」って
呼んでる先みると、「あれとこれ(クラス)使って
これをオーバーライド。ね、簡単でしょ?」「わかんねーよw」と
コード数行追加でどんどん作ってるんだけどフレームワークを
ひょいひょい持ってきて改造して使用してるから
フレームワーク知らないとコードが追えないw
でも記述の少なさとか見るとこれが本当にオブジェクト指向が
やりたかったことなんだなぁと妙な感慨に浸れる。

68 :
>>22
OOPとウォーターフォールは共存するんだが?
むしろ、OOPの方が従来よりもモデリングを先行させるからウォーターフォールに向いてる。
上流でクラスを決めるから。
ろくなクラス設計もせずにコードを書くと破綻する。

69 :
ただ、上流がプログラミング能力を持ってないと
クラスを作れない。

クラスを決める能力を持ってない人が
クラスを決めようとするから破綻するし、

特に上流がクラス作成という下流の作業をするわけないだろ!って
思ってる人が上流の人に多いから破綻する

70 :
>>69
クラスを決めるんじゃなくてオブジェクト指向設計だろ?

オブジェクト指向設計ができないなら、オブジェクト指向プログラミング言語を使ってもオブジェクト指向に
ならない。

だいたいオブジェクト指向は万能ではないからな。

71 :
C言語ですらオブジェクト指向で作れる。

ただしアクセス制御がきかないので、相当なレベルのプログラマがやらないとひどいことになる。

72 :
そもそもstdio.hがオブジェクト指向ライブラリだしね

73 :
(メッセージングからか〜と考えていて、ふとこいつらC++の話してる?(笑)
と気づいたときの困惑といったら…)

74 :
オブジェクト指向の本当の価値はオブジェクト指向設計をしないと理解出来ないよ。

例えばjavaで言うインターフェイスの実用的な使い方なんてまともなオブジェクト指向設計にしか存在しない。

一言で言うと、ビジネスロジックの再利用、拡張、保守性に優れたシステムを設計するために用いる。

75 :
単に現実の世界の多くのドメインをモデル化するのにOOPがマッチしただけ

76 :
現実の世界の多くのドメインをモデル化するのにOOPがマッチする

77 :
とはいえ、すべてがオブジェクト指向で完結するわけではないので、オブジェクト指向プログラミング言語で作るとオブジェクト指向でない部分がどうしてもできる。

78 :
そこをなんとかオブジェクト指向的に取り繕うのがお前の仕事だろ

79 :
ドラゴンブックに載ってるアルゴリズムを一通り実装してみたんだけど、
OO的にすると余計メンドクサイことになって、結局、試行錯誤の結果、
書いてある通りが一番簡単という結論に至った。
ついでに書くと、ドラゴンブックのレベルでは実用にほど遠かった。
テーブルの圧縮とかいろいろ研究しないと実用にならなさそう。

80 :
早い話がコード量を減らすために存在している

81 :
>>79
いやwww 当たり前だろwwww

オブジェクト指向っていうのは、ロジック(アルゴリズム)を
書くためのものじゃなくて、それを組み込む枠組み、
フレームワークに使うものなんだから。

例えば、それらのアルゴリズムにグラフ書くアルゴリズムとか
ソートやサーチのアルゴリズムがあると思うが、
それらのアルゴリズムを入れ替え可能にするなどのために使うんだよ。

82 :
見方はいろいろあるけど使い回せるように
ユニットのインターフェイスを分離して抽象性を上げるものだから
ユニットの"中を"オブジェクト指向で無理に書いて
「めんどくさいだけじゃん!ほっら!ほっら!!」って
お話にならないイチャモンなら20年前にC++で死ぬほどみた。

83 :
>>79
次はOO疑似コードで書いてる本を
OO抜きで書いてみてください

84 :
>>79
ドラコンブックって1万近くするやつですか??

85 :
>>84
そうなんですけど、僕は二冊に分かれてる時代に書いました。

86 :
上流設計書が糞な時ってどうやってOOPすればいいんですか?

87 :
諦めませう

88 :
実装内部でのみOOP

89 :
仕様書にないクラスを書くなって怒られる

90 :
>>89
仕様書?

設計書なら仕方ないな。

91 :
>>89
恐ろしい職場だな。設計を詰めるのを禁止するとは。
自分がサボった結果部下に苦労させて自分が苦労したように見せる上司か

92 :
クラスは極力避けて静的メソッドで作る
静的メソッド増やすにもいちいち上司と交渉が必要
ただしグローバル変数は自由に増やしてもよい
メソッドが無限に長くなってもよい
そんな職場です

93 :
わけわからんなw

94 :
工数稼げていいじゃん(他人事)

95 :
>>92
クラス内にサブクラスを定義したり、関数内で関数定義したらどうだろうか?

96 :
設計と実装が別れてるのなら、設計者が無能かここで愚痴ってる実装者が無能かの
どちらかだろうな。今の情報だけでは判断つけかねる

97 :
なぜ他に専用のクラスが必要なのか

98 :
設計してないんだろうな。

99 :
設計ではなく、説明してないんだろうな。

100 :
そこよりも、グローバル変数を自由に増やして良いってのがわからん。


100〜のスレッドの続きを読む
【QBASIC互換!?】FreeBasic【GPL】 2
JavaScript 4
「コンパイラ・スクリプトエンジン」相談室16
【QBASIC互換!?】FreeBasic【GPL】
Go language part 3
ネットワークプログラミング雑談
【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】
JAVAってこんなことも出来ないの?
いもうとデスクトップを実際に作ってみないか?3
Eclipse統合M36【Java/C++/Ruby/Python/Scala】
--------------------
【HONDA】F1ホンダエンジン【293基目】
迫真特撮部 スーツアクターの裏技 Part 79
鉄道系YouTuberスーツ君を語るスレPart14
明治ワイ、渋谷駅で乗り換える度にコンプで発狂
☆大塚愛ちゃん帝国☆
雑談 コナンくんのマシュマロ
【リーマン】港区田町・三田のそば・うどん【激戦区】
【ゴミック】偽エルミナージュ合同葬儀場28【醜聞アミノ】
新潟県の道路★21
西浦厩舎応援スレ その12
麒麟がくる キャスト予想スレ 其の12
◇SS.Lazio-Bianco・Celeste〜ラツィオスレ64
【鉄血】ジュリエッタ・ジュリスちゃん part.4
悲惨、高齢フリーター
カプライトってどうでしょ
麻雀は絶対に斜陽していく業界だよ
【総合】ドラゴンクエスト5 天空の花嫁 Part321【DQ5/ドラクエ5】
三重県JR伊勢鉄42【関西(名古屋加茂)紀勢参宮名松】
寺田心「上野樹里深田恭子を金属バットで殴り続けると死ぬ」井筒和幸「誰って死ぬ北野誠「公衆便所」2
【前川喜平氏】アベノミクスは失敗。給料は上がらない。年金は減り続ける。消費税は引き上げられる。「アベ大不況」が来るだろう。
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼