カウンタクラス作成
カウンタクラス作成の目的
カウンタクラスを作成することにします。
クラスを作成できれば、楕円運動アニメや円運動アニメファイルをクラスで簡単に作成できるようになります。
でもクラス化はそう簡単ではありません。
まずは、簡単シンプルな例でクラス化を実現した後、円や楕円アニメファイルをクラス化する手順を踏む必要があります。
さて、クラス化するにはどんな手順を踏めばよいのでしょうか。
カウンタクラス作成の第一歩
クラスってなんなの?
何かを実行する物体の設計図のようなものというようないわれ方をします。
何かを実行するというのは、例えば車であれば人を乗せて走りますし、
テレビであれば放送を受信して画像と音を出すということを実行します。
クラスというのはそれらの設計図と言うわけです。
クラスを使う場合は、目的にあわせてそれを実行してくれるような物体の設計図を作成し、
その設計図から実際に物体を作成し、そしてその物体に処理を行ってもらうような感じになります。
クラスについて初心者向けに事細かに書かれた本は見つけることができませんでした。
しかしながら、その中でも、
独習PHP 第2版 山田祥寛 著 (株)翔泳社
オブジェクト指向の章(第7章と第10章)特に第10章
には、かなり詳しくクラスについて書かれています。
是非、一読されることをお薦めします。
シンプルなカウンタクラス
なるべく簡単な例、カウンタクラスファイルを作成したいと思います。
これは、楕円アニメファイルクラス化の第一歩です。
クラス作成手順フロ-を示します。
元となる function 作成
クラスを作成するには、その元となる function を作成します。
今回作成するのはカウンタプログラムです。
ページを開くたびにカウント数が+1増えていきます。
まずは、function 単独で動作することを確認します。
今回はそのファイル名を count_1.php とします。
このファイルは最終的にはいらなくなるのですが、とりあえず、これがないと始まりません。
コンストラクタを作成
次に、元となる function を改版して
コンストラクタ function __construct
を作成します。
コンストラクタとはクラスからオブジェクトが new によって作成される時に自動的に呼び出されるメソッドです。
オブジェクト作成時に初期化処理が必要な場合など、コンストラクタ内に記述しておけば自動的に実行してくれます。
メソッドとはクラスで管理される値を処理するための関数です。
今回はファイルをアクセスしたら、+1するコンストラクタを作成します。
このファイル名は count_2.php とします。
必要な表示メソッドを作成
カウンタ値をディスプレイに表示する
メソッド function view
を作成します。
これを呼び出せば、カウンタ値を表示してくれます。
このファイル名も count_2.php とします。
シンプルカウンタ表示
インスタンスを作成して実行してうまくカウントアップするか確認します。
『クラス』は設計図、『インスタンス』はそれを実装したもの
例えとして、『クラス』は自動車の設計図、『インスタンス』はその設計図を実体化した自動車、
のように言われます。
自動車の設計図であるクラスオブジェクトから、自動車である『インスタンスオブジェクト』を生成して、
『色』や『排気量』などを指定して『初期化』する、という感じです。
このファイル名は count_sp.php とします。
カウンタクラスの継承
単純なクラスならば、クラスの継承は必要ありません。
楕円アニメファイルクラスを作成するにはどうしてもクラスの継承を理解しないとできそうもないのです。
仕方がないので、カウンタクラスの継承を理解することにしました。
イメ-ジカウンタクラスの作成
count_2.php を継承して機能を追加(イメージカウンタにする)しています。
この継承クラス class Counter_Img extends Counter
は、カウント数に対する数字イメ-ジを選択表示するクラスです。
ファイル名は、count_3.php としました。
イメージカウンタクラスの実行
クラスを継承してしまっているので、カウンタ値をディスプレイに表示するには、新たに
インスタンス new Counter_Img
を実行しなければなりません。
先程作成した、メソッド function view ではイメ-ジ画像は表示してくれません。
new Counter_Img は、カウンタ値をイメ-ジ画像として表示してくれます。
インスタンスを作成し実行してうまくイメ-ジカウントアップするか確認します。
このイメージカウンタの実行例のファイル名は、count_img.php とします。
カウンタクラス-元ファイル作成に続く