[PHP-users 18152]Re: PHPで抽象メソッドを実装するには
K.Matsuda
punibom0207 @ yahoo.co.jp
2003年 10月 1日 (水) 11:56:01 JST
松田です。
------- Original Message -------
From: naoki kishida <kishida @ fk.urban.ne.jp>
To: PHP-users ML <php-users @ php.gr.jp>
Sent: Wed, 01 Oct 2003 11:18:13 +0900
Subject: [PHP-users 18147]Re: PHPで抽象メソッドを実装するには
> きしだです
早々のレスありがとうございます。
> > 現在、Javaで言うところの抽象メソッド(abstractメソッド)を
> > PHPで使えないものかと試行錯誤しております。
> この場合の「抽象メソッド」にはどのような機能を求めているのでしょうか?
> 空の実装じゃだめなんですか?
例を申し上げますと、
// 入力された文字列を各条件でチェックするクラス
class SCheck {
// チェック対象文字列
var $str;
// コンストラクタ
function SCheck($arg) {
$this->str = $arg;
}
// 共通メソッドはここに実装
function null_check() {
// 例えば空文字チェック等
}
// 抽象メソッド宣言
// ここが書き方わからないので、仮にJava風に・・・
abstract boolean check( );
}
// SCheckクラスを継承したSCheckEmailクラス
class SCheckEmail extends SCheck {
// checkメソッド実装
function check() {
// チェック対象文字列がメールアドレスの正規表現に一致すればtrueを返す
}
}
// SCheckクラスを継承したSCheckTel クラス
class SCheckTel extends SCheckTel {
// checkメソッド実装
function check() {
// チェック対象文字列が電話番号の正規表現に一致すればtrueを返す
}
}
・・・今思いついたことを殴り書きしてしまったので、
矛盾やミスもあると思いますが、例えば↑のような感じですね。
SCheckクラスを継承した各クラスで、checkメソッドの実装を
忘れてしまった場合等にエラーが出せたりするといいのですが・・・。
************************************
K.Matsuda
mailto : punibom0207 @ yahoo.co.jp
************************************
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/
PHP-users メーリングリストの案内