という題名でちょっと書いてみようかと思ったんだけど、自分自身そこまでOOPを使いこなしてる訳ではないのでやめておこう。
PHPから独学でOOPを始めるのならば、まずは自分の思うようにクラスを使ってコーディングしてみると良いと思います。「どこをどうクラスにすればいいのか」とか「どこまでを誰にやらせるのか」みたいな部分で恐らく悩むので、そうしたら「いまから始めるJava」を読んでJavaでOOPを勉強する準備を。OOP関係はやっぱりJavaが充実しているのでJavaの知識は不可欠だと思われます。特にPHPではほとんど意識しない「型」を理解していないと(Cの知識があると楽)、OOPでそれなりに重要な「インターフェース」の有り難みが分からないので、ぜひこの講座は読むべきです。
この講座だけだとインターフェースと抽象クラスの使い分けとか、実用的な部分が理解できないので、「Javaの格言」を読んで「インタフェースに対してコーディングする」というフレーズを理解すると共に数々の重要なエッセンスを習得してください。この本は中盤までは良い本なのですが、デザインパターンの説明が今一わかりにくいのが欠点です。ですので、「Abstract Factory」の説明が始まった辺りで読むのが退屈になってくるはずなので、そうしたら定番の「Java言語で学ぶデザインパターン入門」に移ってデザインパターンの勉強を。ここまで読めばコーディング中にUML図が頭の中でカシャカシャパズルのように動き回るようになるはずです。
あとは「Javaの格言」の前に「Javaプログラミングの処方箋」を読んでおくと「コピペし始めたら危険」とか「ifを使い始めたら危険」とか「問い合わせるな、やらせろ」みたいな結構重要な要素を勉強できるかも知れません。
と、自分が勉強する際に読んだ本を紹介してみましたが、他のリソースをあたるにしても、PHPが使えればJavaの基本的な文法は簡単に理解できるので、情報が豊富なJava関係のリソースを中心に勉強することをお奨めします。
http://yudai.arielworks.com/memo/2004/12/04/135817.trackback
末尾に「7 + 9」の計算結果を繋げて下さい。例えば計算結果が「17」の場合、「135817.trackback17」です。これは機械的なトラックバックスパムを防止するための措置です。