[PHP-users 18157]Re: PHPで抽象メソッドを実装するには

K.Matsuda punibom0207 @ yahoo.co.jp
2003年 10月 1日 (水) 12:37:36 JST


松田です。

------- Original Message -------
From: Osamu Shigematsu <shige @ ravi.ne.jp>
To: PHP-users ML <php-users @ php.gr.jp>
Sent: Wed, 1 Oct 2003 12:03:28 +0900
Subject: [PHP-users 18153]Re: PHPで抽象メソッドを実装するには

> 重松です。こんにちは。

こんにちは。

> > うちも、きしださんがおっしゃるように、空のメソッドを作成して
> > オーバーライドして使ってます。
> 後は、その abstract method に die なり trigger_error でも
> 仕込んでおけば、一応変なのを引っ掛けることはできるけど、

なるほど、子クラスに該当するメソッドがない→親クラスで書いた
空メソッドが呼ばれる→その中にdie or trigger_errorを書いておけば、
子クラスにメソッドを実装するのを忘れているのがわかる、
ということですね。

> 普通 abstract よりも以前に、なんで private にするには、
> という疑問がでないのが謎。

確かにそうですね。
でも、それはマニュアルや書籍等の「クラス」の項で、JavaやC++等との
クラスとの違いを説明する際に、
「privateやprotect等を使って隠蔽することはできない」
と明記されているからではないでしょうか。
私もそれを読んで、素直に「あ、できないんだ・・・」と受け入れてしまっていました。

************************************
K.Matsuda
mailto : punibom0207 @ yahoo.co.jp
************************************

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/



PHP-users メーリングリストの案内