オブジェクト指向プログラミングについて教えてください。


これまでカスタマエンジニアとして業務アプリをそこそこの量作ってきましたが、
恥ずかしながらオブジェクト指向でコードを書いたことがありません。

ただ、入門書にしたがって簡単なオブジェクト指向プログラミングを
転記して実行したことはあります。
(そのときはPHPで、MySQL接続関係のクラスを用意して、データベース名や
ユーザ情報が変わったときでもそのクラスだけ変えればよいというものでした。
ついでにそのときに「継承」なども一通り学習しました。)

ですが、実際自分がこれから小・中規模システムを作っていく上で
どのような場面でクラスを作っていけばいいのか、具体案が浮かびません。

よくある使われ方としてどのようなものがあるのでしょうか?

今後、意識して取り入れていかないとなかなか身につかないと思い
危機感を感じております。

どうか宜しくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/03/29 22:55:46
  • 終了:2011/03/30 20:53:39

ベストアンサー

id:pretaroe No.5

pretaroe回答回数531ベストアンサー獲得回数752011/03/30 02:59:50

ポイント20pt

>どのような場面でクラスを作っていけばいいのか、具体案が浮かびません。

昔のモジュールの単位をクラスに置き換える

構造体などのデータもクラスに置き換える

クラスは、データと処理の両方を1つのものとして扱える

データ系は、DBを使うのならERモデルに近い感じ

処理系は、モジュール単位に近い感じ

継承とかそういうのはあまり考えなくてもよい。

このあたりはフレームワークを使うなどすればほとんど何も考えなくてよい。

あなたが持っている古い知識との関連付けからまずは始めたほうが良いでしょう。

PHPによるデザインパターン入門
下岡 秀幸 道端 良 畑 勝也
4798015164

どういう風に使うべきかは、テンプレートがあります。

デザインパターンと呼ばれていて、大概の人はこのパターンを応用して適用してます。

1から考える人もいますが、たいていそういう人の設計はよくないことが多いです。

id:EEFAE4

ご回答ありがとうございます。

おすすめしてくださった本をさっそく注文しました。

具体的な書籍をあげていただいて大変助かりました。

2011/03/30 20:51:55

その他の回答(4件)

id:deflation No.1

deflation回答回数1036ベストアンサー獲得回数1262011/03/29 23:07:49

ポイント20pt

質問が漠然としているのですが、たとえば業務アプリを設計する場合では、設計段階でUML図を起こしますが、そこからUML クラス図へ落としていくことで、自動的にオブジェクト指向になってゆきます。

id:EEFAE4

ご回答ありがとうございます。

過去に企業でプログラマをやっていたときでもUML図は作ったことはなく、知りませんでした。勉強してみます。

2011/03/30 20:40:21
id:a-kuma3 No.2

a-kuma3回答回数4440ベストアンサー獲得回数18242011/03/29 23:32:15

ポイント20pt

もう絶版なんですけど、↓が分かりやすいと思います。

オブジェクト指向方法論OMT―モデル化と設計

オブジェクト指向方法論OMT―モデル化と設計

  • 作者: ジェームズ ランボー ウィリアム プレメラニ ウィリアム ローレンセン マイケル プラハ フレデリック エディ
  • 出版社/メーカー: トッパン
  • メディア: 単行本


「どのような場面でクラスを作る」んじゃないです。全部クラスで作ります。

クラスの粒度をどこまでにするか、という悩みはありますが、機能や仕様をベースにクラスを設計していくと、

オブジェクト指向の「予期していなかった仕様変更に対しても、きちんとカプセル化されている」というところになかなかたどりつけません。


# と、信じています :-)

id:EEFAE4

ご回答ありがとうございます。

全部クラスで作るのですね。入門書がそのようなつくりではなかったので

勘違いしておりました。おすすめされた本、探してみたいと思います。

2011/03/30 20:42:36
id:foxplanning No.3

foxplanning回答回数20ベストアンサー獲得回数02011/03/30 00:31:48

ポイント20pt

まずは、オブジェクト指向で書かれた他人のソースコードを解析して、どのような考え方(設計思想)でクラスが作成されているのか?

自分なりに分析してみることから始めてみてはいかがでしょうか。

id:EEFAE4

ご回答ありがとうございます。

他人のソースコードの解析が第一歩ということですね。

大変参考になるご意見でした。

2011/03/30 20:46:13
id:la-la-land No.4

la-la-land回答回数58ベストアンサー獲得回数62011/03/30 02:02:52

ポイント20pt

デザインパターンの本とか読んでみたら良いと思います。

PHPならフレームワークを利用して開発を行えばそのままオブジェクト指向なコードになるんじゃないでしょうか

id:EEFAE4

デザインパターンの本ですか。ぜひ読んでみたいと思います。

フレームワークもまだ利用したことないので、まさに

その辺のレベルへステップアップするためにオブジェクト指向を取り入れたいと

思っているところでした。

2011/03/30 20:48:22
id:pretaroe No.5

pretaroe回答回数531ベストアンサー獲得回数752011/03/30 02:59:50ここでベストアンサー

ポイント20pt

>どのような場面でクラスを作っていけばいいのか、具体案が浮かびません。

昔のモジュールの単位をクラスに置き換える

構造体などのデータもクラスに置き換える

クラスは、データと処理の両方を1つのものとして扱える

データ系は、DBを使うのならERモデルに近い感じ

処理系は、モジュール単位に近い感じ

継承とかそういうのはあまり考えなくてもよい。

このあたりはフレームワークを使うなどすればほとんど何も考えなくてよい。

あなたが持っている古い知識との関連付けからまずは始めたほうが良いでしょう。

PHPによるデザインパターン入門
下岡 秀幸 道端 良 畑 勝也
4798015164

どういう風に使うべきかは、テンプレートがあります。

デザインパターンと呼ばれていて、大概の人はこのパターンを応用して適用してます。

1から考える人もいますが、たいていそういう人の設計はよくないことが多いです。

id:EEFAE4

ご回答ありがとうございます。

おすすめしてくださった本をさっそく注文しました。

具体的な書籍をあげていただいて大変助かりました。

2011/03/30 20:51:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません