PHP TOP】【PGSQL TOP
とりあえず基礎クラスを継承しておこう.
前回作った基礎クラス(pgsql_base)を継承して新しいクラスを作っとこう.

大まかな考え方の順序
基礎クラスは殆ど変更しようの無いくらい基礎的な処理しかしません.
そのためデータベースを利用するスクリプトでなら使いまわし可能って考えられます.
 
ただ,そのままだと機能が無さ過ぎてアレでナニですよね・・.
そのまま拡張していってもいいんですが,それ以外の処理って絶対使いまわし可能って言い切れる処理じゃないんですよね.
 
そこで継承って方法が浮かびます.
利点として,そのクラス自体を書き換えることなくそのクラスの機能をそのまま引き継いだクラスが作成できることがあります.
 
継承は以下のように行います.
 
  1. class 新しいクラス名 extends 継承するクラス名 {
  2.  拡張した処理
  3. }
 
継承するクラス名で使っていたものと同じ関数を使うと新しい処理で上書きしてくれます.
このことをオーバーライド(OverRide)といいます.
以下はオーバーライドの例です.
 
  1. pgsql_query extends pgsql_base {
  2. //override
  3. function init() {
  4. pgsql_base::init();// 基礎クラスオリジナルのinit()関数を実行します.
  5. $this -> errormessage = "初期化しました";// 初期化した内容を書き換えます.
  6. }
  7. }
 
全く意味の無い処理ですが例ということで・・.
この処理では親クラス(pgsql_base)のinit関数を実行したあとでerrormessage変数を書き換えてます.
 (※"::"演算子はPHP4以降で使えるようです.)
4行目の処理が無い場合,親クラスで同名の関数が行っている処理(他の変数の書き換え)は行われずerrormessage変数のみが処理されます.

5行目のerrormessage変数は親クラスで宣言している変数です.継承したクラスは親クラスの変数・関数をすべて引き継いでいますので改めて宣言することなく利用することができます.

目次】【第1回】【第2回】【第3回

(c)2002-2003 by misky