top
Loading...
對《PHP的面向對象編程》一文的補充
發信人: OpenBall (愛我所愛~無怨無悔~), 信區: FreeDevelop
標 題: PHP類的繼承中,調用基類函數的方法
發信站: 交大兵馬俑BBS站 (Tue Aug 1 13:36:07 2000), 轉信

PHP類的的方法這里略過。
但是,很多文章中有一個問題沒有提到,就是在類的繼承中,
如何調用基類的函數。這個問題經常見到,在面向對象的設
計程序設計中當然也很重要。

很多人想用類似于C語言的super()來調用父類函數,可是
行不通,因為PHP沒有提供對這個函數的支持。

其實,PHP4提供了另一種方式來調用基類函數,即用基類名::函數名。
舉例如下:
<?
class CBase
{
function SayHello()
{
echo "Hello from Base class!";
}
}
class Cinherit extends CBase
{
function SayHello()
{
CBase::SayHello(); //!!!!!!
echo "Hello from inherit class!";
}
}
$mSayHelloCls=new CAnother();
$mSayHelloCls->SayHello();
//輸出:
//Hello from Base class!Hello from Inheriht class!
//可以看到,基類的函數被調用了!!
?>
好了,其實沒有什么難的。只是很多人不知道罷了。
這是從PHP.net看到的,介紹給大家。

北斗有巢氏 有巢氏北斗