[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 10:54 / Filesize : 242 KB / Number-of Response : 947
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【オブジェクト指向】言語学習が先?概念学習が先?



1 名前:デフォルトの名無しさん [04/01/10 14:56]
VisualBasicやCといった手続き型言語をずっとやってきた人が、
C#やJavaといったオブジェクト指向言語をマスターする場合
オブジェクト指向の概念・概論を学ぶのが先がいいのか、
それとも、C#やJavaの言語を学ぶのが先がいいのか、
どっちがいいと思われますか。


802 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:37:07 ]
>>798

モジュールをそのままクラスにしたのだから
機械的にモジュール分割を行わなっていなければ
当然、例えば、ネットアクセスモジュールとか
意味はあるだろう。

>>799

たとえば、上の例だと
ネットアクセスする関数郡って意味はあるよね。

803 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:39:44 ]
>>802
class NetAccessMethods1
class NetAccessMethods2
class NetAccessMethods3

とか作ってそれぞれメソッド10個ずつ?w

804 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:47:21 ]
>>803

それは、機械的な訳かただから違う

NetAccessToA_Machine
NeTAccessToB_Machine
NetAccessCommon
Aマシンへの、アクセス用
Bマシンへの、アクセス用
上記の共通部分

って感じのモジュール





805 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:48:49 ]
>>804


class Connection
class Protocol
class Message

見たいなクラスくらい作って欲しいもんだ

806 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:50:39 ]
あと、Adressもいるかw

807 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:52:00 ]
>>804
このクラス設計を見て、オブジェクト指向を理解しているとはお世辞にもいえんなw
申し訳ないけどw

808 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:52:31 ]
ゴメン、
理解しているとはいっていなかったね

809 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:53:08 ]
もう寝るぜw
おやすみー

810 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:57:21 ]
>>805

だから>>804みたいな明らかに駄目なクラス分けでも
メトリックス通ってしまうよって例だから



811 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:59:53 ]
>>807

日本語ができない人だったのか。
気付かなかったよ。


812 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 01:06:29 ]
>>810
あそっかw
ゴメンよw
ホイじゃホントにおやすみー

813 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 01:09:30 ]
>>812

こちらこそ、眠いとこ煽って悪った

おやすみ


814 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 08:46:07 ]
ざっと読んで下の童話を思い出しました!
ja.wikipedia.org/wiki/%E8%A3%B8%E3%81%AE%E7%8E%8B%E6%A7%98

815 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 10:58:18 ]
なんだこのgdgd?

816 名前:デフォルトの名無しさん [2007/01/22(月) 01:13:23 ]
オブジェクト指向言語は、数学で言う集合論の応用といえると思う。

そしてそこから、集合に属するオブジェクト、インスタンスという考え方で
実体を形成してそれらを「扱う」体系を言語化した。

それらに、継承や抽象化などの性質を浮き彫りにして強調することで
「オブジェクト指向」という概念を改めて定義した、ということではない
でしょうか。

817 名前:デフォルトの名無しさん [2007/01/22(月) 01:18:25 ]
そういう指向からすると、Staticあるいはsharedなど静的、共有という
Globalメンバー(変数、関数)の方が特異な存在になっていると思う。

それらは型、集合に属するというものの、インスタンスではないから
スーパーな存在、実物存在に対する、神、あるいは法則、あるいは
イデア的な存在となっているため、

「オブジェクト指向」のなかでも「オブジェクト的でない」存在が結局
このStaticでsharedな存在ではないかと。

818 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 01:24:26 ]
っていうか、言語学習と概念学習のどっちが先か?を考えるスレじゃハゲ

819 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:16:17 ]
神とかイデアとかじゃなくって便利だからだお
staticなものをいちいちインスタンスにするのがバカバカしいからだお

バカは概念にこだわる
かしこいやつは目的を失わず、「言語」を学習する

820 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:22:56 ]

バカは2chの煽りにこだわる
かしこいやつは目的を失わず、「成果」を持ち帰る




821 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 11:51:54 ]
オブジェクト指向的にトランプの「七並べ」を作るなら

どのようにクラスを定義しますか?
「カード」クラスにはどんなメソッドを定義しますか?
カードを置く時、それはその場所に置けるのか否かの判定を
 どのクラスのどのメソッドで行いますか?
表示するカード絵はどのクラスが保持しますか?

822 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:00:35 ]
カードはクラスにしない


823 名前:デフォルトの名無しさん [2007/01/22(月) 12:07:08 ]
オブジェクト指向原理主義者なら、まず作る予定もない花札ゲームのための拡張性を考えて
カードクラスをインターフェースにするところから始めるよ。

824 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:24:43 ]
>>821
自分のもっている本を見ると、Cardクラスは

int getNumber();
int getSuit();
String toString();

の3つ。
ルールクラスがあって、

Card[] findCandidate(Hand hand, Table table);

で置ける場所の候補(トランプのスートとナンバー)を探すようになっている。

825 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:26:03 ]
もしよろしければDで書いていただけませんか?


826 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 13:11:43 ]
>>823
カードクラスを純粋クラスとしてカードの操作メソッドを定義。
カード絵クラスでカードの絵柄1枚と縦横サイズ等を保持。絵柄の読み込みもこのクラスにさせる。
トランプカードクラスはカードクラスを継承しコピーコンストラクタで裏のカード絵と表のカード絵の2個のカード絵オブジェクトをスートとナンバーと一緒に入力してそれが何のカードかを決める。
トランプカードクラスは入力されたカード絵オブジェクトを実体ではなく参照で保持する(つまりポインタで保持する)。
トランプカード集合クラスでトランプカードの裏の絵と54枚の表の絵計55個のカード絵オブジェクトを生成した後54個のトランプカードオブジェクトを生成する。
七並べゲームクラスはトランプカード集合オブジェクトを保持する。

ってどうよ?

827 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 14:18:41 ]
花札は大袈裟な気もするが
トランプゲーム詰め合わせへの路線変更や
絵柄切替機能付けろって仕様追加はありそうだな

828 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:03:10 ]
花札云々は皮肉だろ

829 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:47:02 ]
>>825
D言語は知らない。

オブジェクト指向を習いたいならJavaからした方がいいと思う。
オブジェクト指向系の書籍は、Javaで例を挙げているのが多いから。

自分もRubyを習おうと思って始めたけど、結局Javaの方を先に習得していたし。

830 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:01:34 ]
>>827
なぜかそのトランプゲーム詰め合わせ仕様書にはトランプタワーが入っていたり

さあ物理エンジンを作ろうw



831 名前:デフォルトの名無しさん [2007/01/22(月) 19:45:05 ]
ム板にしては進みが早いな。

やぱ分け分かんなくなってる奴が多いのか?

832 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:36:43 ]
俺ならトランプカードクラスを派生して
七並べ用トランプカードクラスも作る

833 名前:デフォルトの名無しさん [2007/01/22(月) 20:50:46 ]
>>823
標準クラスにも
使い道の分からないのはあるぞ?

834 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:27:54 ]
ISOにカードクラスの標準化を提唱する

835 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:46:24 ]
いきなり実装っぽい考えをしてるところがあかんな
ちゃんとモデリングセーや

836 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:07:37 ]
>>835

そう思うならモデリング例を上げれや。
批判だけなら猿でもできる。

837 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 17:38:20 ]
>>823
より YAGNI 感を醸すために、トランプと花札を同じコンテナに格納できないように template にするべきだと思う

838 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 23:32:43 ]
>>819
>神とかイデアとかじゃなくって便利だからだお
>staticなものをいちいちインスタンスにするのがバカバカしいからだお

便利といって何でもご都合主義で入れていけばいいならそもそも
オブジェクト指向でなくてもいいということにもなるが

オブジェクト指向であるのにオブジェクト的ならぬ存在に支えてもらわないと、
実際に本当には便利にならない、、

という現実があるのだ、という風にとらえないと、物事の限界や長所と短所
という考え方の意味がなくなる

イデアや普遍法則があっていつでも自由に適用できるようになってないと
不便な現物世界になる、つまり現物は機能的に不全だといえるかもしれない

839 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 21:44:56 ]
どうでもいいよ

840 名前:デフォルトの名無しさん [2007/01/25(木) 21:07:55 ]
C言語でも、関数ポインターと構造体を使えば、クラスを作れるよね?



841 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 21:21:12 ]
>>840
それがクラスなら、お前がクラスと呼ぶものは全てクラスだよ。

842 名前:デフォルトの名無しさん [2007/01/25(木) 21:22:02 ]
>>840
継承どうするんですか?まクラス使いたいのなら、すなおにC#に汁

ところで、住人様方
VBやVC#でさくさくプログラミングしようかなーと思ってるんですが
オブジェクト指向理解してないと、やっぱりプログラミングむりぽですか?

843 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 21:23:00 ]
>>842
やれんことは無いらしい。
www.sage-p.com/process/cool.htm

844 名前:デフォルトの名無しさん [2007/01/25(木) 22:38:11 ]
>>841
.> それがクラスなら、お前がクラスと呼ぶものは全てクラスだよ。

  それがクラスなら、プログラムと呼ばれるもの全てクラスだよ。

こっちの方がいいよ。

845 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:04:07 ]
関数ポインターと構造体を使ったものが継承できたらクラスなのか?

846 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:05:38 ]
C++ のクラスのバイナリ構造の事をいってるんだろ?

847 名前:デフォルトの名無しさん [2007/01/25(木) 23:31:24 ]
C言語を用いてクラスは実装できる
オブジェクト指向言語はC言語で開発できる
C言語 is King of プログラム言語s だ!

848 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 23:37:43 ]
で?

849 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:36:17 ]
>847
その理論だとアセンブラ最強な件

850 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:40:04 ]
>>849
機械語最強です



851 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:40:36 ]
ほんたまがでてきそう

852 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:43:12 ]
じゃあ貼っておこう
ttp://hp.vector.co.jp/authors/VA015412/

853 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:45:24 ]
>>852
反応すんなほんたま

854 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:32:48 ]
よーわからんのだけど奇介護っつーのはオブジェクト指向でかけるのかい?

855 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:36:48 ]
あたりまえじゃん

856 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 08:08:50 ]
機械語でかけない物は PCで実行できんからな。


857 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 08:40:22 ]
>>844
いや、>840 は一応 vtable くらいは用意するつもりなんだろうから。

858 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 12:23:19 ]
構造化最強

859 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 16:48:26 ]
オブジェクト指向は、ソース書いてる内に、ほぼ勝手に身に付いていくものでしょw
参考書によってはそうでもないけど。

860 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 21:45:36 ]
だな



861 名前:デフォルトの名無しさん [2007/01/26(金) 22:36:24 ]
ほんとかよ。
4000行あるようなクラス書いてないか?
やたらif分がネストしてないか?

862 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:43:21 ]
それでもイーンダヨー

863 名前:デフォルトの名無しさん [2007/01/26(金) 22:56:24 ]
>>861
プログラムは内部が糞であっても、要求を満たしてれば合格
逆に内部がどんなに素晴らしくても、要求を満たしていなければ不合格
よって、
4000行あるようなクラスで、且つ、やたらif分がネストしてたとしても
要求を満足していればOK

864 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:57:38 ]
最低だ

865 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 22:59:03 ]
>>863
こういうセリフはよく職業プログラマが使うが
職業プログラマほど使ってはいけない言葉

866 名前:デフォルトの名無しさん [2007/01/26(金) 23:00:44 ]
>>863
そして保守・運用作業が困難な事が目に見えているため、転職。

867 名前:デフォルトの名無しさん [2007/01/26(金) 23:07:07 ]
いいや、顧客から言われた。
ついでに、要求を満たしてない物に金は払えない、とも言われた

868 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:08:20 ]
>>867
そんなの当たり前だハゲ

869 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:09:54 ]
マトモに動くもの作れないくせに給料もらってんじゃねーw

870 名前:デフォルトの名無しさん [2007/01/26(金) 23:11:13 ]
言語がコボルからjavaに変っただけで同じ書き方してる奴多いよなぁ。

クラス名がDF000001とか(w



871 名前:デフォルトの名無しさん [2007/01/26(金) 23:19:16 ]
プログラムは要求通りに動いてはいたんだが、なまじっか、慣れてないオブジェクト指向使ったら納期が遅れちまって...
>>863, >>867を言われたってわけよ、納期も大事な要求事項だからな


872 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:21:36 ]
>>871
それは単にお前がオブジェクト指向に慣れていないのが原因なだけでは

873 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:22:46 ]
だいたい、その時になってから勉強を始めようって姿勢がいかんのじゃ

874 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:34:54 ]
>>870
移植作業なんてものはそういうものだ。
読みやすくするのはリファクタリング作業。

875 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:48:25 ]
>>874
構造化設計のままリファクタリングなどできない。

876 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:51:40 ]
そりゃリビルディングの方がいいだろ

877 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:56:39 ]
構造を変更するのはリストラクチャリングっていうんじゃなかったっけ?

878 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:58:34 ]
それがでてこなかったw

879 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:00:22 ]
どっちも同じ事だよ。
リストラクチャリングはリファクタリングの部分集合。

880 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:02:35 ]
ここ嫁
capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringMalapropism



881 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:02:53 ]
リストラクチャリングを検索したら政治用語としての方がよく使われるみたいだが、ソフトウェアの世界でも一般的に使うのか?
あまり聞かないねぇ。こういう事はリファクタリングというんだよ。おぼえとけ

882 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:10:26 ]
>>880
要するに、Martin Fowlerは、リファクタリングの粒度の事で言い方を変えたいだけじゃないの?
そんな短絡的な趣味に付き合いたくもない。

883 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:17:47 ]
>>882
あほなの?

884 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:22:35 ]
>>882
まあ、この手の連中は用語作って商売するからな

885 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 10:57:24 ]
構造化指向からオブジェクト指向に移った方が一番大変そう。
ある意味SUNの陰謀だw

886 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:07:39 ]
構造化にもオブジェクト指向言語の機能は有効だと思うが

887 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:13:51 ]
構造化って簡単に言うと、

1.条件分岐と反復文のみを用い、基本的に上から下へと制御が進む
2.類似した処理は関数としてまとめる

だよね?

888 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:24:54 ]
構造化でも、とりあえずDIPさえ満たしていればリファクタリングは可能かな。

889 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:27:53 ]
すまん、俺はオブジェクト指向が確立してからプログラミングはじめたから
実は、構造化指向は参考書の中で聞いたことがあるだけで実際には
あんまり知らない。ただ構造化指向が染み付いた人はオブジェクト指向に脳みそ
切り替えるのは厳しいかな。と

890 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:42:39 ]
>>889
「構造化志向」って何?

いや、
そんな細かな書き間違いの話なんかよりも、
むしろ >>889 の言う「志向」が、
何を指すのかを聞きたいな。

・・・いやいや、
そんな細かな書き間違いの話なんかよりも、
むしろ >>889 の言おうとしたであろう「指向」が、
何を指すのかを聞きたいな。

例えば、「オブジェクト指向」でいう「指向」とは何なのか?
とかさ。




891 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:49:26 ]
正直、オブジェクト指向は
「デザインパターン」の一種だと思う。


892 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:06:12 ]
>>891
デザインパターンはオブジェクト指向のサブセットだろ

893 名前:887 mailto:sage [2007/01/27(土) 12:12:48 ]
だから、オブジェクト指向においても、メソッドは、(2.の関数)の考えに近く、実際の処理
の記述は、(1.制御の流れ)に相当するよね?

オブジェクト指向は主に全体を見通しての設計技法であり、構造化は実際の制御文を書く
ときの技術って感じで、別に相反するものでもないと思うんだけど。

で、構造化しか知らない人は、全体の設計も構造化(制御中心)でしてしまうと。

894 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:14:14 ]
>>892
いや、逆だと思う。

要するに「デサインパターン has-a オブジェクト指向」。

GoF に「オブジェクト・パターン」なんてのが載っていても
全然おかしくないような気がする。


895 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:19:05 ]
>>894
ばかですか?

896 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:33:17 ]
>>895
勘違いしないでほしいが、俺は別に「デサインパターン」が凄い!
なんて思っていない。
あれはプログラミング上で頻出する、枯れたイディオムを羅列したものだ
(ただし形式上、「OOP による」という条件付、だがね)。

OOP も所詮は「プログラミング上のイディオム」だよ。


897 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:42:02 ]
>>896
>>895は誰のカキコも読まないただの荒らしだからレスを返さなくてもいいよ

898 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:44:08 ]
っていうか、ほとんどスレの趣旨にあっていない書き込みばかりじゃねーかw

899 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 12:45:40 ]
オブジェクト指向の話だから、合ってない事もない

900 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 13:48:39 ]
>>893
よくいるんだが、構造化定理と構造化技法がごっちゃになってる。
構造化技法ってのは、特定のパラダイムというよりは、いろんな宣教師が各人勝手なことを吠えてただけに近い(これはオブジェクト指向○○も一緒だけど)。
シンプルな設計をするためのイディオム集みたいなかんじ。
データフローグラムなんてのもあったりして、データ中心の分析設計も構造化時代からあった。
データ + アルゴリズム = プログラム なんてのも構造化時代からのものだし。
モジュール化の話題では、pimpl に似た技法を使っての実装隠蔽の話などもあった。

OOが設計で構造化がコーディングと断絶したものではない。
OOは方針の違う構造化のスーパーセットみたいなもんだ。



901 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 13:52:10 ]
どうやら、ソフトウェア工学をまともに研究した経験がある人間は俺以外いないようだ。

902 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 13:55:30 ]
>>901
ああ、そうだな。
それと、現代において
まともなソフトウエア工学なんてものがあると
思っているのもお前だけだよ。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<242KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef