Javaでなぜつくるのか
2007/01/11 22:17 - Flash参考書
「オブジェクト指向でなぜつくるのか」で、オブジェクト指向の概念的なことは何となくですが分かったつもりです。
じゃあ次は実践面の学習にステップアップ! と思い立つのは当然の成り行き。
コード中に満載であろうと推察される俺ルールの変な癖を解消するためには良い機会です。
今こそ正統なコードの記述方法を学ぶべきとき。
ですが、オブジェクト指向の実践面について、言語としてアクションスクリプトを採用した書籍は、私は寡聞にして知りません。
なら他言語だ、ってことで考えてみたんですが、やはり、オブジェクト指向といえば Java、Java といえばオブジェクト指向。
そんなわけで「オブジェクト指向でなぜつくるのか」が分かりやすかったので、同じシリーズ(日経BP「10年後も通用する基本を身につけよう」シリーズ)の Java について書いてあるのをまず手始めに読んでみました。
いやぁ勉強になりました。
まずは、概念的な側面の補完ができました。
「オブジェクト指向でなぜつくるのか」では、オブジェクト指向の三大要素として、「クラス」「ポリモーフィズム」「継承」が挙げられていたのですが、ポリモーフィズムについては意味がさっぱり分かりませんでした。
三大要素に限らず、他の部分はとても分かりやすかったのに、「ポリモーフィズム」だけはワケがわからん。
ですが、今回この本を読んでやっと分かりましたよ。
ようするにサンダーバード 2 号とそのコンテナの関係と理解しました。
コンテナはたとえその中身が全然違っていようとも、外装の規格さえ揃えておけば、何十個でも何百個でも用意可能。
あるいは SF に出てくる万能銃。
カートリッジを入れ替えれば、光線銃にもなれば、麻酔銃にもなるし、弾丸も撃てる、みたいな。
クラスが違えばメソッド名がバッティングしても無問題。 だから別なクラスでも、同じような機能だったら同じ名前にしてしまえ、と。
呼び出すクラスと呼び出されるクラスがあった場合、呼び出すクラスにはなんら変更を施さずに、呼び出されるクラスの入れ替えによっていろんな状況に対応できますよ、ということなんだろうと思います。
オブジェクト指向の三大要素がやっと全て分かって、よかったよかった。
で、本筋の実践的な側面。
以前「ActionScript 3.0 ゲームプログラミングブック」を読んだときに、下記のような記述に違和感を感じたということを書きました。
this.iaksama = ikasama;
}
this.○○ = ○○; で○○に同じ文字列を使っている部分ですが、これって Java の作法だったのね。ひー恥ずかしい。井の中の蛙というのは実に恥ずかしいものです。
そして、以前、神コーダーのサイトからダウンロードした、やたらたくさんの as ファイルから組み立てられた、複雑過ぎてワケの分からなかった AS3.0 のソースについても、クラス群の最上位に main.as を置いていることなどから見て、どうやら Java の記述作法に則って構築されたものであるらしいことも分かりました。
まだ、そのソースの解析はできていませんが、Java の正統な記述を学ぶうちにやがては解析できるようになるでしょう。
オーソドックスな記述を知っていれば、より多くの先人の知恵を拝借することが可能になるし、こちらから発信する情報もより分かりやすく伝わろうというもの。
今後ももっと類書を読んで、正統な記述方法をさらに学んでいきたいと思います。
そして、自作の AS3.0 によるクラスファイルは、新たに作るものも、現在ひと段落ついているものも、バシバシ改めていかないと、と心に誓ったのでした。