PHPオブジェクト指向のプログラミングで悩んでいます。気がつけば、そのネタで4本もエントリを書いていました…。
- PHPでオブジェクト指向プログラミング…でも上手くいかなった件
- PHPでオブジェクト指向プログラミングをしようと全然だめだった話
- PHPでオブジェクト指向プログラミングをしようとしたらちょっとはマシになった話
- PHPでオブジェクト指向プログラミング 一応動いたが何かと問題が出た話
他の人がどんな具合にオブジェクト指向で実装しているのか、見たことがないというのが、分からなくなる原因の1つかと思います。
JavaScriptのピンポンゲームにオブジェクト指向が
とりあえず自分でオブジェクト指向の構文を考えるのは、止めておいて、参考文献を探そうとしたとき、
という記事を発見しました。このレッスンは基本、JavaScriptで書かれているので、PHPとは直接関係ありません。ですがオブジェクト指向でプログラミングをするときのコツが頻出しています。
例えばこんな感じです。
[php]
var ctx,
myPaddle;
var Paddle = function(w, h) {
this.w = w;
this.h = h;
this.x = canvas.width / 2;
this.y = canvas.height – 30;
this.draw = function() {
ctx.fillStyle = ‘#00AAFF’;
ctx.fillRect(this.x – this.w / 2, this.y, this.w, this.h);
};
};
myPaddle = new Paddle(100, 10);
myPaddle.draw();
[/php]
- 最初にvarで変数宣言
- 次にvar Paddleでプロパティを定義
- 最後にnew演算子を使ってインスタンス化
※このレッスンは有料会員の方しか見られません。コードの一部を端折って書いています。
文法は違えど考え方はコツがわかる
PHPとJavaScriptでは、書き方の「お作法」はずいぶん違います。ただ一連のレッスンを見ていると、このような書き方が何回も使われています。
文法には十分気を付けないといけませんが、オブジェクト指向の考え方や実装方法を体験するのには、なかなか良いレッスンだと思います。
ちなみに出来上がったゲームはこんな感じになります。