由於工作中要用到php,最近下了本《php5 power programming》在讀,外文的,還不錯,打算寫些讀書心得,可能會零散些。這次講的是多型。
首先看乙個例子,是講動物發出的叫聲的。
class cat
} class dog
} function printtherightsound($obj)
else if ($obj instanceof dog) else
print "/n";
} printtherightsound(new cat());
printtherightsound(new dog());
這裡輸出的是:
miau(貓的叫聲)
wuff(狗的叫聲)
熟悉oop的都知道,這個例子擴充套件性不好,因為如果你要加入更多動物的話,需要用很多個if else來判斷,而且要重複寫很多**,有了多型後,就好辦了。php5中終於有多型這東西了,多個子類可以擴充套件繼承父類,上面的例子改寫如下:
class animal
} class cat extends animal
} class dog extends animal
} function printtherightsound($obj)
else
print "/n";
} printtherightsound(new cat());
printtherightsound(new dog());
可以看出,這個時候,無論增加什麼動物,printtherightsound方法是不需要 進行任何修改的了!當然,大家學過oop的可以看出,這個例子可以進一步修改,就是將animal宣告為抽象基類拉。
php5 讀書心得
由於工作中要用到php,最近下了本 php5 power programming 在讀,外文的,還不錯,打算寫些讀書心得,可能會零散些。這次講的是多型。首先看乙個例子,是講動物發出的叫聲的。class cat class dog function printtherightsound obj els...
PHP5配置選項
在unix平台上安裝基本沒有變化 1.gunzip 5.x.x.tar.gz 2.tar xvf 5.x.x.tar 3.cd 5.x.x 4.configure 5.make 6.make install 7.apachectl restart configure 配置命令取決於安裝步驟可能需要另...
php5安裝詳解
對於apache2的設定 1 不要addmodule mod php5.c 2 loadmodule php5 module c php php5apache2.dll,是php5apache2.dll 3 需要將php目錄下的dll檔案 以下檔案不必複製 php5activescript.dll ...