PHPでそれなりにプログラムをして、システム化することはできますが、
よく耳にする「クラス」「オブジェクト指向」について理解がしきれていません。
そこで、クラス化して、そのクラスを使い方までをとっても丁寧に解説しているサイトや書籍はありませんか?
以下の質問は読んでいます。
http://q.hatena.ne.jp/1100148800
オブジェクト指向でないと実質コーディングできない言語で
一回なにかを作ってみるのが良いと思います。
C/C++は、そういう目的ではお勧めしません。
Javaあたりが良さそうに思います。
Rubyは使ったことがないのですが、こっちでもよいかもしれません。
----------------
「クラス化して」という1ステップを余計に踏まないといけない現状では
理解するほうこうとしては難しいかもしれません。
いきなりイメージとしてクラス化してシステム化するので、そういう方向性に
思考が向くように、言語的に絶対にオブジェクト指向でないと作りづらい
言語でないとなかなか難しいと思います。
私は一旦javaを勉強しました。
私の場合、まずオブジェクトを「変数付き関数」として理解しました。
http://www.amazon.co.jp/%E7%8B%AC%E7%BF%92Java%E7%AC%AC3%E7%89%8...
オブジェクト指向はある程度理解しているのですが、それをPHPの中で使うことを特に知りたいと思っています。
求める回答とは違うかもしれないのでポイントいりません。
http://q.hatena.ne.jp/1132358507
私も同じようなことを考えていた時があって、上記の質問をしたことがありました。
Javaも少し勉強したのですが、振り返ってみると、
ポリモーフィズムとかクラスの理論的なとこだけさらっと頭に入れて、
最終的にはPHPのフレームワークでなにかアプリケーションを作ってみるのが良いと思います。
苦労したところももちろんありますが、フレームワークもいずれ使いたいと思うはずなので、
一石二鳥というやつです。
ちなみに、私は初回はEthnaというフレームワークで勉強しました。
参考まで。
フレームワークもとても興味があるので、それもいいですね。
みなさんの回答を見てみると、直接的な方法でないものが多いのが気になるところです。
HPを5分見るだけで毎月22万円貰えます
食品会社のホームページを1日5分、都合の良い時間に見るだけで、毎月22万円もらえます。
下記サイトに、不定期ですが、お申し込み方法を記載します。
この報酬は18ヵ月で一旦終わりますので、退会会員が、発生のたびに新規会員を募集します。
おおよそですが、1日平均2~6人が、先着順で新規会員になれます。
下記サイトをお気に入りに登録いただき、こまめにチェックしてみてください。
これまでの履歴を見ると、PM8~AM2時の間に新規募集が掲載されるようです。
これまでに作成したシステムがあれば、部分的に少しずつクラス化していってはどうでしょうか?クラスやオブジェクトを見つける方法のひとつとして、システムの動きを日本語で書いてみるという方法があります。例えば「このシステムは起動すると××画面が表示される、その画面からユーザが名前を入力しOKボタンをクリックすると、△△が表示されて...」みたいな感じでダラダラっとでも良いので書いてみます。そして、その文章を眺めてみて、文章の中に現れる名詞や動詞がクラスや変数、メソッドの候補となります。簡単に書きすぎですみません。。。
ちなみに私の思うオブジェクト指向の醍醐味は、オブジェクトとオブジェクトが歯車のように相互作用する事でシステムが表現される所です。オブジェクト指向と聞くと継承を使わないといけないようなイメージを受けますが、継承は必ずしも必須ではなく(むしろ使わない事が推奨されているくらいです)、基本クラスだけを使い、メソッドのアクセス権は全てpublic、変数は全てprivateでも、オブジェクト指向の恩恵は十分に受ける事ができます。
パフォーマンスや行数を短くする事よりも、プログラムの見やすさ(分かりやすさ、美しさ)やクラスの振る舞い(役割)に重点を置くように心がける事が、オブジェクト指向への第一歩かなという気がします。
とても参考になるご意見ありがとうございます
PHPにデザインパターンを利用してどうシステムに組み込めばいいか書いてある本です。
この本は、ただ単にクラス化するだけでなく、オブジェクトを効率よく操作・管理するための手法が書いてあります。
これ見てみます。
なるほど。それはいい手ですね。
ちょうどRubyを触ってみようと思っていたのでいい機会になります。